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
- Host: GitHub
- URL: https://github.com/ilkaytech/nodejs-express-rentacar-api-project
- Owner: ilkaytech
- Created: 2023-10-29T20:32:00.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-24T20:23:44.000Z (over 2 years ago)
- Last Synced: 2025-12-02T21:53:58.702Z (6 months ago)
- Language: JavaScript
- Size: 354 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RENT A CAR API
### ERD:

### 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
```