Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/k0ppai/tours-api
Tours API is a real-world RESTful API with advanced authentication, authorization, mongoose, Node.js security, email sending, and file uploading capabilities.
https://github.com/k0ppai/tours-api
api express heroku-deployment mongodb mongoose nodejs
Last synced: 28 days ago
JSON representation
Tours API is a real-world RESTful API with advanced authentication, authorization, mongoose, Node.js security, email sending, and file uploading capabilities.
- Host: GitHub
- URL: https://github.com/k0ppai/tours-api
- Owner: K0ppai
- License: mit
- Created: 2023-12-29T14:00:04.000Z (11 months ago)
- Default Branch: develop
- Last Pushed: 2024-02-01T08:54:54.000Z (10 months ago)
- Last Synced: 2024-10-04T00:22:38.536Z (about 2 months ago)
- Topics: api, express, heroku-deployment, mongodb, mongoose, nodejs
- Language: TypeScript
- Homepage: https://documenter.getpostman.com/view/28835577/2s9YysE2U8
- Size: 29.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Tours API
# 📗 Table of Contents
- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [API Documentation](#api-documentation)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)**Tours API** is a real-world RESTful API and web app with authentication, Node.js security, email sending, and file uploading capabilities. This is an API project I coded along with during the course mentioned in the acknowledgments. I took it to the next level by rebuilding it with TypeScript and ES6 modules.
Server
- Node.js
- Express.js
Database
- MongoDB
- **Advanced MongoDB: Geospatial Queries, Aggregation Pipeline, and Operators**
- **Mongoose advanced features: Modeling geospatial data, Populates, Virtual Populates, Indexes**
- **Advanced authentication with user sign up, log in, password reset, secure cookies and authorization with user roles**
- **Security with Encryption, Sanitization, Rate limiting**
- **Sending emails with Mailtrap and Sendgrid and uploading files with Multer**
- **Advanced data modelling: Relationships between data, Embedding, Referencing**
To get a local copy up and running, follow these steps.
### Prerequisites
In order to run this project you need:
- A Chrome browser
- npm
- Node.js
### Setup
Clone this repository to your desired folder:
```sh
cd my-folder
git clone https://github.com/K0ppai/Tours-API.git
```
### Install
Install the prerequisites this project using:
```sh
cd Tours-API
npm install
```
### Usage
To run the project, execute the following command:
```
npm run dev
```
👤 **Paing Soe Thu**
- GitHub: [@K0ppai](https://github.com/K0ppai)
- Twitter: [@_koppai_](https://twitter.com/_koppai_)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/paingsoe-thu)
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](https://github.com/K0ppai/Tours-API/issues).
If you like this project, don't forget to give it a ⭐️!
I would like to give credit to the original creator of this [course](https://www.udemy.com/course/nodejs-express-mongodb-bootcamp/), [Jonas Schmedtmann](https://www.youtube.com/@jonasschmedtmann).
This project is [MIT](./LICENSE) licensed.