An open API service indexing awesome lists of open source software.

https://github.com/ilkaytech/nodejs-express-rentacar-api-project


https://github.com/ilkaytech/nodejs-express-rentacar-api-project

Last synced: about 23 hours ago
JSON representation

Awesome Lists containing this project

README

          

# RENT A CAR API

### ERD:

![ERD](./erdRentACarAPI.png)

### Rent A Car Project

- Customers;

- can select start and end date and see the list of available cars on selected dates. It is not allowed to choose past dates.
- 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 not reserve cars which are reserved by other customers on 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. Geçmiş tarihler listelenmez.
- Seçilen tarih aralığında araç rezerve edilebilir, ancak aynı tarih aralığında ikinci bir araç kiralayamaz.
- Rezerve edilmiş bir aracı, o tarihlerde rezerve edemez.
- 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.

---

### Folder/File Structure:

```
.env
.gitignore
index.js
readme.md
src/
config/
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
```