Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nadjib4869/mytours
Tours web app, built using ExpressJS, NodeJS, MongoDB and Pug
https://github.com/nadjib4869/mytours
expressjs mongodb nodejs pug tours-and-travel
Last synced: about 1 month ago
JSON representation
Tours web app, built using ExpressJS, NodeJS, MongoDB and Pug
- Host: GitHub
- URL: https://github.com/nadjib4869/mytours
- Owner: Nadjib4869
- License: mit
- Created: 2024-07-31T20:57:04.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-09-11T16:21:46.000Z (4 months ago)
- Last Synced: 2024-11-21T08:04:28.477Z (about 1 month ago)
- Topics: expressjs, mongodb, nodejs, pug, tours-and-travel
- Language: JavaScript
- Homepage: https://mytours-6x20.onrender.com/
- Size: 33.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tours web App (RESTful API + Pug Template Engine)
This project is a tours web app. It was built using Node.js, Express, MongoDB, Mongoose and Pug. The API allows users to create, read, update, and delete tours, users, reviews and bookings. It also allows users to sign up, log in, and log out.
## Features
Mapbox API for geocoding
Stripe API for payments
Sendgrid API for emails
JWT for authentication
Bcrypt for password hashing
Mongoose for data modeling
Multer for file uploads
Sharp for image resizing
Helmet for security
Express Rate Limit for rate limiting
CORS for cross-origin resource sharing
HPP for HTTP parameter pollution
XSS for cross-site scripting
Express Mongo Sanitize for NoSQL query injection## Objectives
### Deploying the APP on Azure
### Use Chargily for payments instead of Stripe
## Testing
Link to the deployed app on Render : [Tours Web App](https://mytours-6x20.onrender.com/)
As you might know, when using Render with a free account, your application goes to sleep mode after every 15 minutes if there are no requests coming in for the application. This means it takes some time to load the application when the next request comes. So, please be patient when you try to access the application.
## API Documentation
There is also an API at `/api`, with [documentation available here](https://documenter.getpostman.com/view/33493267/2sA3s9D8ac).