Code Monkey home page Code Monkey logo

adventurelookup's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

adventurelookup's Issues

Is there a way to roll back an edit?

I guess this is part of the larger issue with tracking changes and being able to see them. And obviously that anyone can make changes now.

I spent a while entering the first adventure from the first issue of Dungeon Magazine, The Dark Tower of Cabilar, and now it's gone. And someone else has entered it, but under a different name (typo in the title).

I want to make sure, when I talk about AL.com, folks don't have to worry about their content being destroyed capriciously. And if something like that does happen, there's a recourse.

Users should not be able to link to known bad sites

People are going to want to post links in the URL field to illegal PDFs. By and large these PDFs are all hosted in a handful of sites, which we should be able to blacklist.

And we should be able to add to that blacklist.

Users who submit links to these sites should get an error "Please do not link to torrent sites or illegal pdfs."

It would also be nice if the admins would get an alert when this happens so if there are repeat offenders among the curators, we can ban them.

Which means we may need the facility to ban people. :D

Author Entity

Implement a static data format for Author and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name

Add ratings functionality

Ratings could be left by registered individuals on a per adventure basis. Ratings would be an binary field representing "thumbs up" (1) or "thumbs down" (0). A row for a user on a specific adventure would only exist if they've clicked either thumbs up or thumbs down. Maybe clicking the same option again removes your rating in case you change your mind?

Reviews will be implemented in a separate issue.

I'd like to be able to edit the list of entities

I assume I'm using this terminology correctly. The things that can populate a field within a record.

Right now people can add Orc and Orcs and while that isn't the end of the world, it bugs me. :D The search should return Orc result for Orcs and vice versa.

But more to the point, people can stick things in there, like Waterdeep for Setting, and then other people will think "Oh this Forgotten Realms adventure should be a Waterdeep adventure" and that is no bueno.

This functionality may already exist in an admin panel I do not wot of.

Environment entity

Implement a static data format for Environment and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name

Can we set up Projects?

It would be helpful to know what people are working on so we don't duplicate effort. Can we use the kanban feature of Projects for that? If so, can I get access to the Projects functionality?

Made a change to a record, now the record doesn't appear in search.

I edited the Deep Horizon record because it was linking to a copyright-violating site, and now the record doesn't show up when I search for it.

To be clear, it did show up originally, that's how I found it.

This is not the first time this has happened to me. Last time Jerry rebuilt the index and that fixed it. This definitely needs to be fixed before I go on YouTube and promote this thing. :D

Can't log in

When I try to log in, I get "Invalid credentials."

Remove And/Or box

I think this is a distraction and I don't clearly see the benefit.

Need a Bulk Edit option

When editing an adventure, need a way to select many fields for Approve/Reject at once. Right now editing adventures is a pain in the butt.

Re-add search filters for static fields

The index page needs search filters for the fields again.
When these are in again, the show page should link all info to the index page with the info's value preselected as filter.

Exception

I got through install, but am now getting an exception when I try to run the site.

php bin/console server:start 0.0.0.0 and nodejs node_modules/webpack/bin/webpack --watch --progress both seem to work, but when I navigate to http://localhost:8000/app_dev.php I get the following:

Warning: SessionHandler::read(): Session data file is not created by your uid

The stack trace located the problem in var/cache/dev/classes.php at line 367

No user-defined fields

I think letting any registered user add fields is a bad idea. It has the potential to create a mess for moderators and a bunch of gaps in the database. For example, user A thinks to herself, "gee, I think there ought to be a filter for Cost...I'm gonna add it." At the same time, user B has the same thought and adds a field called "Price". Same data, two different field names. Even worse, user C thinks there ought to be a field for "contains elves", or something similarly arcane/weird. Nobody is able to ensure that data is being consistently entered for any of these user-defined fields, so we end up with bloated records that are missing tons of data.

I strongly recommend that we remove this feature in lieu of a fixed set of fields (basically the ones we already have). If users really want another field they can ask for it via a comment form or reddit. If we get enough requests it's easy enough to add a field deliberately.

Implement correct permission scheme

The current permission model lacks in a few important aspects, i.e. everyone can create an account and simply delete all adventures. This needs to be fixed until Matt makes a video and opens ADL to a larger audience. Here is my proposed, simple model (keep in mind, we want this to happen as fast as possible). All access levels can do everything listed above in addition to their level. Note that there is no approval process in this design.

Guests

Can view and search adventures.

Users (everyone can create such an account) ROLE_USER

Can create new adventures, can edit and delete adventures they created.
Can comment on all adventures to suggest changes (really just a text input they can dump suggested changes into. This could of course be improved by allowing them to directly say which field to change to which value, but for now a simple comment box should be sufficient).

Curators (selected people only) ROLE_CURATOR

Can create and edit all adventures.
Can access the EasyAdmin backend except for user table.

Admins (Matt, Jerod, ...) ROLE_ADMIN

Can view user list and recent activity
Can access the full EasyAdmin backend

Failure setting up database

Hi, I'm getting the following error when I try setting up the database:

An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)

Need An "D&D Only" alert when adding an adventure

Someone busted their ass and added a ton of Star Wars data to the site, and I had to delete it because AL.com is D&D specific.

I want to make sure that doesn't happen again, so when someone clicks "Add an adventure" we need some text somewhere saying "AdventureLookup is for D&D and it's clones. Not other systems/genres."

Monster & MonsterType entities

Similar to the setting, implement a static data format for Monsters and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page. Relationship would be ManyToMany between Adventure and Monster.
Entity properties:

  • Name (string)
  • Type (foreign key)
  • Unique (boolean)

Example dataset:
Orc, Humanoid
Kobold, Humanoid
Goblin, Humanoid
Gnoll, Humanoid
Hobgoblin, Humanoid
Beholder, Aberration
Black Pudding, Ooze
Mind Flayer, Aberration
Drow, Humanoid
Wyrmling, Dragon
Bulette, Monstrosity
Hill Giant, Giant
Stone Giant, Giant
Frost Giant, Giant
Storm Giant, Giant
Kuo-Toa, Humanoid
Lich, Undead
Slaad, Aberration
Umber Hulk, Monstrosity
Arcanamite, Monstrosity
Warhorse, Beast
Gazer, Aberration
Skin Bat, Undead
Deva, Celestial
Unicorn, Celestial
Pegasus, Celestial
Eye Golem, Construct
Homunculus, Construct
Flesh Golem, Construct
Myr, Construct
Stone Golem, Construct
Azer, Elemental
Djinni, Elemental
Gargoyl, Elemental
Salamander, Elemental
Spark, Elemental
Water Elemental, Elemental
Annis Hag, Fey
Boggle, Fey
Cactid, Plant
Dragonleaf Tree, Plant
Myconid, Plant
Vegepygmy, Plant
Baneling, Fiend
Night Hag, Fiend
Hell Hound, Fiend
Ink Devil, Fiend
Rakshasa, Fiend
Rakshasa, Fiend
Coral Drake, Dragon
Ash Drake, Dragon
Dragon Turtle, Dragon
Luck Dragon, Dragon
Pseudodragon, Dragon
Star Drake, Dragon
Uniques
River King, Fey
Sarastra, Fey
Kalarel, Humanoid
Balor, Fiend
Akyishigal, Fiend
Alquam, Fiend
Zmey, Dragon

Monster Type example dataset
3e 3.5e
Aberration
Animal
Beast
Construct
Deathless
Dragon
Elemental
Fey
Giant
Humanoid
Magical Beast
Monstrous humanoid
Ooze
Outsider
Planetouched
Plant
Shapechanger
Undead
Vermin
4e
Animate
5e
Celestial
Monstrosity
Fiend

Forgot password functionality

There currently is no way to recover a lost password.
Implementing such a functionality would require emailing to be setup.

Error running composer

When I run 'composer install -n' I get the following error:

Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the symfony-scripts event terminated with an exception


  [RuntimeException]
  An error occurred when executing the "'cache:clear --no-warmup'" command:
  PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "DOMDocument" from the global namespace.
  Did you forget a "use" statement? in /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php:52
  Stack trace:
  #0 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(263): Symfony\Component\Config\Util\XmlUtils::loadFile('/var/www/new.ad...', Array)
  #1 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(41): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToDOM('/var/www/new.ad...')
  #2 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php(72): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->load('web.xml')
  #3 /var/www/new.adventurelookup.com/html/vendor/symfony/symf in /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php on line 52

.

Move simple fields into Adventure entity

 * min start level
 * max start level
 * start level range
 * soloable
 * num pages
 * pregenerated chars
 * link
 * thumb
 * tactical maps
 * handouts
 * description
 * found in

Created a new branch, dev, added branch protections

Created the dev branch that will be used for active development. Changes to the dev branch will go out to the staging server (presumably automatically, once I can get something configured for it). The dev branch is protected and requires PRs to be approved by a contributor with write permissions before it gets merged in.

The paradigm moving forward will be that master is only merged into from dev and the branch protections require a code owner to review those changes and approve them.

So for all future PRs, be sure you're targeting dev as the destination. If these turn out to be a pain or overly restrictive we can change the settings at any time in the future. As a side note, there are still 2 teams, Backend and Frontend from the python attempt. I'll probably clean up those teams (and users) sometime tonight or tomorrow and remove them from the organization.

Server Upgrade Doc

As you guys are using tech I'm not very familiar with, I would appreciate a list of commands that you recommend I do whenever I pull from GitHub to the server.

Publisher entity

Implement a static data format for Publishers and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name

Updated visual design

I've been working on an updated visual design and user experience for the last few weeks.

A public Invision prototype is available here:
https://invis.io/D7CI37UFC

Sketch files are available here:
https://thisismess.box.com/s/k4omrg7dpyuzww3v56r46b9bqlnjr73q

I'll keep both of these links up to date as I continue refining the design and flow.

If you'd like to work on the Sketch files, you'll need to get a few typefaces. These are commercial typefaces, so I can't provide them as part of the source, or as a public download:

Adelle
DIN Pro

Handling updates to the server

I'm not sure it will scale well for @JohnnyFlash to be running out updates manually forever and ever. Its also probably not worth it to do a fully automated CI/CD approach, where the server gets update everytime there is a merge into the master branch.

Thoughts about something a little more pragmatic, like Deployer?

Damn! error

I apparently disapproved and/or deleted an adventure that I had previously added while editing it. Now, if I try and add it again, I receive a page with only "Damn!" written in it and the adventure is not added and does not appear in search.

NPC Entity

Implement a static data format for NPC and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name

Database migration failing

I am trying to set the latest version up on a different computer. Install is fine until the database setup step, which fails with the following error:

Migration 20180000000000 failed during Execution. Error Number of tag names changed!
[Doctrine\DBAL\Migrations\AbortMigrationException] Number of tag names changed!

Doctrine charset should be utf8mb4

Presently it is only utf8, which mysql built to only support up to 3 bytes of character data, which excludes a whole lot of character that are in the "UTF-8" charset. It is unilaterally recommended to change from utf8 to utf8mb4.

This is easy to do for local development environments and the staging server; we wipe the data and rebuild the database with no fuss. Production will have to be manually migrated. Fortunately its not difficult.

https://mathiasbynens.be/notes/mysql-utf8mb4

Filter by Length (# of Pages) bug

Can't get this to work. No matter what range of pages I apply, no filter actually goes into effect. All adventures remain listed, regardless of their page count.

Edition entity

Implement a static data format for Editions and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name (string)
  • Order (int)

Example data:

  • OD&D, 10
  • AD&D, 20
  • 3e, 30
  • Pathfinder, 40
  • 3.5e, 50
  • 4e, 60
  • 5e, 70

I've never played in it, but from some research it sounds as if B/X and BECMI didn't really change enough compared to the OD&D basic rules to warrant separate categorization? In any case, this is just an example, the admin interface would need to support adding more editions.

Item Entity

Implement a static data format for Item and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.

Ensure the generated table is singular.

Entity properties:

  • Name

Change readme's production server instructions

Current version of the production server advocates for non-production configuration, notably, using libapache2-mod-php7.0 instead of the significantly more performant libapache2-mod-fastcgi

When this is undertaken, it may be advisable to simply move to nginx for the ease of configuration and performance gains.

Can't merge upstream

Hey, I'm having a problem merging the current master into my local respository to stay synced. Specifically, I am getting the following error:

CONFLICT (modify/delete): ubuntu-xenial-16.04-cloudimg-console.log deleted in upstream/master and modified in HEAD. Version HEAD of ubuntu-xenial-16.04-cloudimg-console.log left in tree. Automatic merge failed; fix conflicts and then commit the result.

I suspect this has to do with moving vagrant to gitignore, but I'm not sure how to fix it. Can anyone with more git experience help me out?

Test thumbnail links for an https version

Since our site is hosted on https, we get an error if the thumbnail isn't also hosted on an https link.

It would be nice if people submit an http thumbnail that we test it for an https version and update the link accordingly.

It would also be nice to get a report in the admin of any thumbnails that are linked via http so we could possibly fix them.

Add a play length filter

DMs often are looking for an adventure that they can run in X number of sessions, esp. one shots. An filter for how long an adventure takes to run (in hours, sessions, or a category indication) would be very useful to me. Next time multiple players cancel, I hope to find a one shot very quickly. :-)

Change users table to user

Singular table names are the default behavior of Doctrine (when creating entities through tooling) and is desirable for a number of reasons well documented here.

All other database tables conform to this singular naming convention except users.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.