γ A secret & secure place where you only can view your blogs π
- Secure Authentication and Authorization with passport.js and express sessions
- Email verification
- Prevention from bots
- Reset password
- Change password
- Filtering blogs
- Search blogs
-
Make sure you have node installed on your machine.
-
Clone the repository and install the dependenies.
npm install
-
Rename
.env.example
to.env
-
Add your environmental variables in
.env
fileMONGO_URI - obtained from Mongodb atlas or put uri of your local mongo server SENDGRID_API_KEY - obtained from sendgrid SENDGRID_FROM - registered email at sendgrid DOMAIN_URL - your localhost port eg. http://localhost:8000 GOOGLE_RECAPTCHA_SECRET - obtained from the Google recaptcha v2 SESSION_SECRET - a random string (Eg. 'randomsecret')
-
Run the project
npm run start
-
Format code
npm run format
βββ config
β βββ database.js
β βββ passport.js
βββ controllers
β βββ auth
β β βββ auth.js
β βββ blogs
β β βββ blogs.js
β βββ forget
β β βββ forget.js
β βββ profile
β β βββ profile.js
β βββ reset
β β βββ reset.js
β βββ verify
β βββ verify.js
βββ index.js
βββ middlewares
β βββ auth.js
β βββ ratelimiter.js
βββ models
β βββ Blog.js
β βββ Token.js
β βββ User.js
βββ package.json
βββ package-lock.json
βββ public
β βββ css
β β βββ style.css
β βββ js
β βββ app.js
βββ README.md
βββ routes
β βββ auth.js
β βββ blogs.js
β βββ forget.js
β βββ index.js
β βββ profile.js
β βββ reset.js
β βββ verify.js
βββ services
β βββ sendgrid.js
βββ utils
β βββ date.js
βββ validators
β βββ validators.js
βββ views
βββ auth
β βββ login.ejs
β βββ register.ejs
βββ blogs
β βββ add.ejs
β βββ blog.ejs
β βββ blogs.ejs
β βββ edit.ejs
βββ errors
β βββ 404.ejs
βββ forget
β βββ forget.ejs
βββ index.ejs
βββ partials
β βββ footer.ejs
β βββ header.ejs
β βββ messages.ejs
β βββ navbar.ejs
βββ profile
β βββ changepassword.ejs
β βββ profile.ejs
βββ reset
βββ reset.ejs
Made with contributors-img.