[App] Creating an members only, which is an exclusive clubhouse-like application. Allows users to sign in, log in, make posts, and view posts. If the user is able to enter a special passcode, they will be members of the club! If the user is also able to enter another password, they will be admins of the application, allowing them to delete posts.
See it live on optimistictrousers.github.io/inventory-application Or clone repo, cd into repo, then run "npm run devstart"
Creating an Express application using MongoDB, Mongoose, Passport and Pug. Learned about sessions and cookies. Using Passport.js for authentication. Using the MVC pattern to design the application. Application generated with the express-application-generator command. https://expressjs.com/en/starter/generator.html
Beyond that, other learning outcomes were:
- Using Passport.js to authenticate users
- Learned how Passport.js creates sessions and cookies to keep users signed in
- Learned how to use the Passport.js LocalStrategy
- Using bcrypt to add a hash and salt to user passwords
- Allows users to sign in
- Allows users to log in
- Allows users to create posts if logged in
- Allows users to delete posts if they are admins
- Allows users to become members of this exclusive clubhouse if they enter a secret passcode
- Allows users to admins if they enter a secret password
- Allows users to view posts
- Allows users to see who wrote the post if they are clubhouse members
- Express - Web framework
- MongoDB - Database
- Passport - Middleware used to authenticate users
- Node - JavaScript runtime
- Mongoose - Object Data Model for MongoDB
- Pug - A templating engine
- Create a "Show Password" section in the sign up form or a "Confirm Password" field.
- Check the database to see if another user has used the same email address
- Users can enter the wrong email address, but the correct password and they will be logged in - FIXED
- User cannot sign into another account once they sign into one - FIXED