Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
updated readme file #26
updated readme file #26
Changes from all commits
b76f902
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
🚘 Car Sharing App 🚘
Introduction ♦ Technologies ♦ Models ♦ How run this project ♦ Project architecture ♦ Database structure ♦ Controllers ♦ Contacts
Introduction
Welcome to Car Sharing Service App! 👋
Our Car Sharing Service App is a convenient and secure app which will definitely be the best solution for you and your renting car services. Both customers and managers will get pleasant experience while using it.
Why?
Our Car Sharing Service App is a convenient and secure app which will definitely be the best solution for you and your renting car services. We use authorization via JWT to protect access to the app. All users are divided into managers and customers which provides them with certain rights in the app. We created Telegram bot which sends messages when rental is created, paid or overdue. In future these notifications may be adjusted to your requirements (e.g. they may be sent to only managers, only to customers or to both). We used the Stripe API as a convenient payment system. All payments are secure and in case some error occurs a transaction will be rollbacked.
🔨 Technologies
Models
Car:
The Car model is a structured representation of a vehicle available in a car sharing service, encompassing key attributes for effective management and user interaction.
It includes the following attributes:
User (Customer):
This model is a basic representation of customer information and is commonly used in user management systems for applications. The password field is securely hashed and stored.
It includes the following attributes:
Role
Provides the possible roles, including CUSTOMER and MANAGER. This model is commonly used for managing user roles and permissions.
Rental
The Rental model encapsulates information related to a car rental transaction.
It includes the following attributes:
Payment:
The Payment model represents a financial transaction.
It encompasses the following attributes:
How run this project
Create
.env
file in the root of project and populate variables from.env.sample
fileRun the following command to build and start the Docker containers
Project architecture
🛢️ Database structure
Controllers and endpoints available ⬇
Unauthorized customers can access endpoints to see all cars or info on one certain car. After registration and login customer can create a new rental, see info on their rental history, and pay for rental. Manager can modify data: add a new car, update info on an existing one, update customer's role.
Authentication Controller:
User Controller: Updating and getting user info
Car Controller: Managing and browsing cars
Payment Controller: Managing and browsing payments
Rental Controller: Managing and browsing rentals
📞 Contributors
The Champions JV Team