Skip to content

A Campground rating Web-App with complete authentication and registration of users.

License

Notifications You must be signed in to change notification settings

Aayush-1999/Camp-Tale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Camp-Tale

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 Camptale a user can:

  • Create a Campground
  • Tell a story about a campground
  • Ask Questions about a campground.

SERVER

The Server is made on Node.js (v12.13.0)
Express.js is used as the server framework (v4.16.4)

DATABASE

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

FRONT-END

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

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

Releases

No releases published

Packages

No packages published