GithubHelp home page GithubHelp logo

lucascprazeres / rentx Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 430 KB

A new way of renting sport cars ๐ŸŽ๏ธ

License: MIT License

TypeScript 99.84% Shell 0.04% Dockerfile 0.12%
date-fns expressjs multer nodejs typeorm typescript

rentx's Introduction


A nodejs sports car rent API ๐Ÿ”ฅ


About the project

RentX is a nodejs REST API developed on a back-end bootcamp called Ignite. It is platform for renting sports cars which allows you to manage your vehicles, it's features and, of couse, their rents!

Since it's an Open source project, feel free to make your contributions to help make this application a really nice thing :)

Tecnologies

How to run

fork this repository on your github

then, use your terminal to clone your fork to your local machine

$ git clone <your-fork-url>
$ cd rentx
$ yarn

Some app commands

$ yarn dev # run development code
# $ yarn test # run tests (not implemented yet...)
# $ yarn build # creates a javascript build (not implemented yet...)
# $ yarn start # run build code (not implemented yet...)

How to contribute

make sure to complete the steps on the previous sections

then,

# create a branch to wrap your changes
$ git checkout -b <your-branch-name>

# write some code...

# commit your chages
git add . && git commit -m "type(scope): description"

# send them to your fork
git push origin <your-branch-name>

the last step is to create a pull request here on github

ps: if you're not familiar with the commit message structure above, please check this

Documentation

The API endpoints are well documented on the swagger interface. To check it, just run the api and access

http://localhost:3333/api-docs

License

This project is under the MIT License. Read the LICENSE file for further information.


Made with โค๏ธ by Lucas Prazeres

rentx's People

Contributors

lucascprazeres avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

rentx's Issues

Project requirements

Car register

Functional requirements

  • Should be able to register a new car

Business rules

  • Should not be able to register a car with an existent license plate
  • Cars should be registered as available by default
  • Should not be able to register a car if user is not an admin

Car listing

Functional requirements

  • Should be able to list available cars
  • Should be able to list available cars by category
  • Should be able to list available cars by carmaker
  • Should be able to list available cars by model name

Business rules

  • The user doesn't need to be signed in to list available cars

Car specification register

Functional requirements

  • should be able to register a car specification

Business rules

  • Should not be able to register a specification for a non-existent car
  • Should not be able to register two identical specifications for the same car
  • Should not be able to register a car specification if the user is not an admin

Car image register

Functional requirements

  • should be able to register the car image

Non-functional requirement

  • Use multer for file upload

Business rules

  • Should not be able to upload cars images if the user is not an admin

Car rent

Functional requirements

  • should be able to register a car specification
  • Should be able to list all specifications
  • Should be able to list all cars

Business rules

  • The rent should have at least 24h of duration
  • Should not be able to register more than one rent for the same user
  • Should not be able to register more than one rent for the same car

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.