https://github.com/noah35becker/mad-libs
https://morning-caverns-82636.herokuapp.com/
This application reimagines Mad Libs, the popular word game, in a browser-based forum/blog context. Users register for an account, create Mad Libs templates, fill in other user-generated templates, and comment/upvote on other users' fill-ins.
- Usage
- Features
- Directions for future development
- Credits
- Contributing
- License
- Questions
- Screenshots of deployed application
Using the application should be intuitive and self-explanatory.
If you would prefer not to make your own account, you may use these test credentials:
- u: test@gmail.com
- p: testtest123
- User accounts (including account management)
- Template maker interface
- Adjustable redaction of Mad Libs templates (this really pops on screen!)—check out this GitHub Gist for a technical walkthrough
- Filling in templates created by other users
- Commenting and upvoting on other users' fill-ins
- Front-end sorting options for templates and fill-ins (most recent, top voted, random)
- Buttons for viewing a random template or fill-in
- Auto logout after 15 minutes of user idleness
- Administrator access with global delete privileges for templates/fillins/comments
- Responsive design, adapting to different viewports and devices
- The email feature should be developed to actually include standard account management functionality, including signup verification + password recovery.
- Beyond users simply generating new templates from scratch, old templates should be duplicable as another possible starting-point.
- Attach a
new
tag to fill-ins that have been created within the last 24 hours, to display as part of fill-in metadata. - If the static word 'a'/'an' appears in a template and is immediately followed by a fill-in field, then when that template is filled in by another user, change this word accordingly depending on whether the fill-in word begins with a vowel.
- Improve line breaks for how fill-ins render on screen.
- On input, fill-ins could record a
maxVisibilityOnInput
value corresponding to the maximum unredaction with which the user viewed the template while filling it in. This could later be offered as a sort/filter parameter for user-generated fill-ins. The idea here is that filling out a template with full redaction leads to very different sorts of fill-ins than filling out a template with partial or no redaction. - Username and password validation during account creation (minimum # of characters, required uppercase/lowercase/special characters, etc.).
- All screens that require a password should have the option to show or hide it while inputting.
- There are places in the application where it would be helpful to have the user enter their password twice.
- A search feature for templates and/or fill-ins.
- Node.js
- MySQL
- Handlebars template engine
- Node packages:
- Heroku
- JawsDB MySQL
Feel free to fork this project's repo, contribute code, and submit pull requests here!
Contributors to this project must follow all guidelines set forth by the Contributor Covenant.
Learn more about this license here.
My GitHub username is noah35becker.
If you have any questions, I'd be glad to hear from you—contact me at noahbeckercoding@gmail.com.
Below are screenshots of the application:
User dashboard
The template maker
A template, fully redacted
That same template, now in a state of partial unredaction
A fillin