This is a PWA enabled Web App which provides complete Authentication and Registeration of all users with Google, Facebook and Local Email. On Blogrite a user can:
- Read & Write blogs
- Update & Delete blogs
- Comment on blogs
- Delete comments
- Search blogs
- See notifications
- Follow/Unfollow others
- Manage user profile
The Server is made on Node.js (v10.15.3)
Express.js
is used as the server framework (v4.17.1)
The database used is MongoDB
and is hosted on a MongoDB Atlas Cluster
.
Mongoose.js
is used as an ODM (v5.6.11)
- The Front-end is made with
HTML, CSS and JS
. Materialize.css
is used for better styling of the project.Font Awesome
for iconsAnimate.css
andHover.css
for animations
Many security precautions have been taken:
- bcrypt: For secure password saving in the database.
- csurf: For protection against CSRF attack on Forms and fetch requests.
- helmet: For protection against common Security Vulnerabilities inExpress framework.
- Content Security Policy: For Secure Content Delivery from the server.
- limiter: For Limiting the access to data from a particular client (150 requests per hour).
Passport.js
has been integrated into the application for Secure Authentication of User Credentials over OAuth 2.0 from Google, Facebook, and Local Email Verification.
nodemailer
has been used for sending emails (Reset Password Link) to the users.
multer
has been used for uploading images and cloudinary
for storing images.
The response object is gzip compressed using compression. To request for an uncompressed response use x-no-compression in the request header.
Feel free to contribute :-)