Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/juliolmuller/ignite-node-car-rental
A full API for a Car Rental business in order to develop technical skills during Ignite Node training.
https://github.com/juliolmuller/ignite-node-car-rental
ignite node rest-api rocketseat
Last synced: 22 days ago
JSON representation
A full API for a Car Rental business in order to develop technical skills during Ignite Node training.
- Host: GitHub
- URL: https://github.com/juliolmuller/ignite-node-car-rental
- Owner: juliolmuller
- License: mit
- Created: 2022-08-06T05:10:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-09T04:14:43.000Z (almost 2 years ago)
- Last Synced: 2024-11-15T01:34:11.248Z (3 months ago)
- Topics: ignite, node, rest-api, rocketseat
- Language: TypeScript
- Homepage:
- Size: 1.48 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RentX
## Requirements
## Use Cases
### List cars
#### Functional Requirements
- Must be able to list all available cars.
- by _name_
- by _brand_
- by _category_#### Business Rules
- Should NOT be authenticated to view the list.
### Register a car
#### Functional Requirements
- Must be able to list all categories.
- Must be able to register a car.#### Non-Functional Requirements
- Should use UUID pattern to identify cars primary key.
#### Business Rules
- Must be an action performed by an _admin_ user;
- Must NOT be able to register a car with existing _license plate_.
- Must NOT be able to update the _license plate_ of a car.
- Should register a car as _available_ for default.### Register a car specification
#### Functional Requirements
- Must be able to list all specifications.
- Must be able to list all cars.
- Must be able to add an specification to a car.#### Non-Functional Requirements
- Should use UUID pattern to identify cars specifications primary key.
#### Business Rules
- Must be an action performed by an _admin_ user.
- Must NOT be able to add an specification to an unregistered car.
- Must NOT be able to add an specification twice to the same car.### Publish photos of the car
#### Functional Requirements
- Must be able to save multiple photos of the car.
- Must be able to list all cars.#### Non-Functional Requirements
- Should use UUID pattern to identify car photos primary key.
- Should use `multer` to upload files.
- Should make the photos accessible from a public URL.#### Business Rules
- Must be an action performed by an _admin_ user.
- Must be able to upload one or more images.### Register Car rental
#### Functional Requirements
- Must be able to register a rental.
- Must be able to list all cars.#### Non-Functional Requirements
- Should use UUID pattern to identify car rental primary key.
#### Business Rules
- Must NOT have a duration less than 24 hours.
- Must NOT rent a car to the same user at the same period.
- Must NOT rent the same car at the same period.