Technologies • Getting Started • Collaborators • Contribute
-
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.
-
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.
- $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.
- Node.js
- Express.js
- MongoDB
- Mongoose
- Token
- Filter Search Sorting Pagination
- Sync
- Multer
- Morgan
Here you describe how to run your project locally
How to clone your project
git clone
How to start your project
cd project-name
npm some-command-to-run
Special thank you for all people that contributed for this project.
Mesut Bolat |
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
git clone https://github.com/mesbol6647/BE-06-RENTACAR-API-.git
git checkout -b feature/NAME
- Follow commit patterns
- Open a Pull Request explaining the problem solved or feature made, if exists, append screenshot of visual modifications and wait for the review!
📝 How to create a Pull Request
.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