Node.js Express MongoDB Project
Active link here ==> https://natours-project-production.up.railway.app/
This project is part of the Node.js Express MongoDB Bootcamp course on Udemy by my favourite online teacher Jonas Schmedtmann
Tech stack
- Java Script
- Node.js
- MongoDB
- Express
- Mongoose
- Pug templates
About the Project
The project is a Tour Web Application where you can find exiting tours all over the world, buy them and participate. It covers the following topics and features:
- Building an advanced and complete RESTful API with Express.js
- User authentication and authorization using JWT (JSON Web Tokens)
- Perform CRUD operations with MongoDB using Mongoose, exploring all advanced features of the library.
- User management: registration, login, and password reset
- Error handling and validation
- Server-side rendering with pug templates
- Deployment and production-ready setup with Heroku
Additional features
- Handle credit card payments using Stripe integration.
- Explore email sending functionality and learn how to handle file uploads.
- Ensure security through encryption, sanitization, rate limiting, and other best practices.
Project architecture
- MVC
Learning Objectives
Throughout the course and this project, I have gained knowledge and experience with the following concepts:
- Setting up a Node.js project structure
- Creating and configuring an Express.js server
- Designing and implementing RESTful APIs
- Using MongoDB as a NoSQL database
- Implementing user authentication and authorization
- Writing efficient and reusable code ( best practices)
- Handling errors and validating user input
- Deploying the application to a production environment