Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.53 KB

README.md

File metadata and controls

65 lines (46 loc) · 2.53 KB

BlogRite

Codacy Badge code size licence npm Website dependencies

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

SERVER

The Server is made on Node.js (v10.15.3)
Express.js is used as the server framework (v4.17.1)

DATABASE

The database used is MongoDB and is hosted on a MongoDB Atlas Cluster.
Mongoose.js is used as an ODM (v5.6.11)

FRONT-END

  • The Front-end is made with HTML, CSS and JS.
  • Materialize.css is used for better styling of the project.
  • Font Awesome for icons
  • Animate.css and Hover.css for animations

SECURITY

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).

AUTHENTICATION

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.

MISC

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.

Response Compression

The response object is gzip compressed using compression. To request for an uncompressed response use x-no-compression in the request header.

Contributing

Feel free to contribute :-)