Session-based authentication and user permissions project from TOP
This app is my solution to The Odin Project Members Only assignment. The task is to create a message board with four levels of user permissions managed with session-based authentication in PassportJS.
- Users and messages should be stored in MongoDB and modelled in mongoose
- Server-side sessions should manage four levels of user permissions: public (logged out), users, members, and admin
- User passwords should be encrypted with
bcrypt
- Only members should be able to see the authors of posts to the message board, and only admins should be able to delete messages
Visit the live site to view the message board (Note: the free tier Render web service is sometimes very slow to spin up, but should start eventually).
Create a free account (email is not required and your password is encrypted) to post to the message board.
- Express
- MongoDB
- Mongoose MongoDB ODM for Node.js
- express-validator Express middleware for validation and sanitization
- PassportJS Simple, unobtrusive authentication for Node.js
- bcrypt.js Optimized bcrypt in JavaScript with zero dependencies
- EJS (Embedded JavaScript) View templating engine
- Render Cloud application hosting