Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mesbol6647/be-06-rentacar-api-
Rent a Car Project offers streamlined access to a vast network of global accommodations, enabling real-time booking and detailed information retrieval. Ideal for enhancing travel platforms and booking systems, it simplifies integration and boosts operational efficiency.
https://github.com/mesbol6647/be-06-rentacar-api-
authorization customfiltering distinct permission-manager token-based-authentication
Last synced: 9 days ago
JSON representation
Rent a Car Project offers streamlined access to a vast network of global accommodations, enabling real-time booking and detailed information retrieval. Ideal for enhancing travel platforms and booking systems, it simplifies integration and boosts operational efficiency.
- Host: GitHub
- URL: https://github.com/mesbol6647/be-06-rentacar-api-
- Owner: mesbol6647
- Created: 2024-06-02T20:41:14.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-27T20:40:47.000Z (5 months ago)
- Last Synced: 2024-06-28T19:14:05.920Z (5 months ago)
- Topics: authorization, customfiltering, distinct, permission-manager, token-based-authentication
- Language: JavaScript
- Homepage: https://rentacar6647.vercel.app/
- Size: 423 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
BE-06 Project(RENT A CAR-API)
Technologies •
Getting Started •
Collaborators •
Contribute
Description
### Rent A Car Project
- Customers;
- can select start and end date and see the list of available cars on selected dates.
- can not reserve cars which are reserved by other customers on selected time period.
- can choose a car on the list and reserve that car, but can not reserve more than one car on a selected time period,
- can see the list of their reservations including past ones.
- can list, create, read their reservations.
- can not update, delete reservations.- Admins;
- can make CRUD operations on Car table,
- can make CRUD operations on Customer (User) table,
- can make CRUD operations on Reservation table,- It can be createdId and updatedId in Car model.
- There will be searching, sorting and pagination capabilities on list views.---
### Araç Kiralama Projesi
* Müşteriler:
* Tarih aralığı belirtip müsait araç listeleyebilir.
* Rezerve edilmiş bir aracı, o tarihlerde rezerve edemez.
* Seçilen tarih aralığında araç rezerve edilebilir, ancak aynı tarih aralığında ikinci bir araç kiralayamaz.
* Rezervasyonlarını listeyebilir, ekleyebilir, okuyabilir.
* Rezervasyonlarını güncelleyemez, silemez.
* Yöneticiler:
* Araba tablosu CRUD işlemleri
* Müşteri (User) tablosu CRUD işlemleri
* Reservasyon tablosu CRUD işlemleri* Araba tablosunda createdId ve updatedId olabilir.
* Listeleme ekranlarında arama, sıralama ve sayfalama imkanları olacaktır.---
💻 Features
- $or :Allows users to query the database to find documents that match any of the specified conditions.
- $nor:Enables querying the database to find documents that do not match any of the specified conditions.
- $nin:Provides the ability to query the database to find documents where a specified field's value is not in a given array of values.
- distinct:Retrieves distinct values for a specified field across a single collection.
- Custom Filter:Allows users to define and apply custom filtering logic to query the database based on specific criteria. This feature enables complex and flexible data retrieval by combining multiple conditions and logical operators.
- Populate:Mongoose method used to replace a path in a document with actual documents from other collections. It's commonly used to reference related documents.🎨 Layout
### ERD:
![ERD](./erdRentACarAPI.png)
---
💻 Technologies
- Node.js
- Express.js
- MongoDB
- Mongoose
- Token
- Filter Search Sorting Pagination
- Sync
- Multer
- Morgan🚀 Getting started
Here you describe how to run your project locally
Cloning
How to clone your project
```bash
git clone
```Starting
How to start your project
```bash
cd project-name
npm some-command-to-run
```🤝 Collaborators
Special thank you for all people that contributed for this project.
📫 Contribute
Here you will explain how other developers can contribute to your project. For example, explaining how can create their branches, which patterns to follow and how to open an pull request
1. `git clone https://github.com/mesbol6647/BE-06-RENTACAR-API-.git`
2. `git checkout -b feature/NAME`
3. Follow commit patterns
4. Open a Pull Request explaining the problem solved or feature made, if exists, append screenshot of visual modifications and wait for the review!Documentations that might help
[📝 How to create a Pull Request](https://www.atlassian.com/br/git/tutorials/making-a-pull-request)
[💾 Commit pattern](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716)
### Folder/File Structure:
```
.env
.gitignore
index.js
readme.md
src/
configs/
dbConnection.js
swagger.json
controllers/
auth.js
car.js
reservation.js
token.js
user.js
helpers/
passwordEncrypt.js
sync.js
middlewares/
authentication.js
errorHandler.js
findSearchSortPage.js
logger.js
permissions.js
models/
car.js
reservation.js
token.js
user.js
routes/
auth.js
car.js
document.js
index.js
reservation.js
token.js
user.js
```