nodejs-express-mongodb Project outline / goal

User Roles

=> admin
=> moderator
=> author
=> registered user
=> guest user (not registered )

Guest user

=> can see published tutorial list and search ✓
=> can do registration ✓

Registered user

=> create profile ✓
=> view profile details ✓
=> update profile ✓
=> change password ✓
=> can see the tutorial list and search ✓
=> can see his purchased tutorial list ✓
=> can read the full tutorial (purchased tutorial only) ✓

Author user

=> create profile ✓
=> view profile details ✓
=> update profile ✓
=> change password ✓
=> can see the tutorial list and search ✓
=> can see his purchased tutorial list
=> can read the full tutorial ✓
=> can see his own tutorial list ✓
=> can create his own tutorial ✓
=> can update his own tutorial ✓
=> count tutorial how many copies are sold ✓
=> list of users (my customers) who have purchased my tutorials ✓

Moderator user

=> create profile ✓
=> view profile details ✓
=> update profile ✓
=> change password ✓
=> can see published tutorial list and search ✓
=> can see unpublished tutorial list list and search ✓
=> can read the full tutorial to review ✓
=> can publish or un-publish the tutorial ✓

Admin user

=> create profile ✓
=> view profile details ✓
=> update profile ✓
=> change password ✓
=> Moderator list (add , edit, delete )
=> Author list
=> Registered User list
=> can see the tutorial list and search
=> can read the full tutorial
=> can publish or un-publish the tutorial
=> order list

** Follow the postman collection for testing

Configuration

=> create config folder inside app folder
=> configure db.config.js as app>config>db.config.js
=> configure DB as
module.exports = {
url: "your mongo DB link "
}

example
module.exports = {
url: "mongodb+srv://xxxxxxx:xxxxxxxx@cluster0.dvi0ncx.mongodb.net/databaseName"
}

Project setup

npm install

Run

npm start