The Car Renting Platform is designed to provide users with a seamless experience for renting cars. Users can browse available cars, make bookings, leave reviews, receive notifications, and manage their profiles. The platform utilizes a Flask API backend and a React frontend to ensure a robust and interactive user experience.
- Database Relationships
- CRUD Operations
- JWT Authentication
- Validation
- Admin Roles
- User Profiles
- Forms with Validation
- Client-Side Routing
- Getting Started
- Installation
- Usage Features
- Contributing
- License
- One-to-Many: Users can have multiple car hires. Each car hire is associated with one user.
- Many-to-Many: Car hires can have multiple features.
- Registration
- Login
- Logout
- Password Reset
- Create
- Read
- Update
- Delete
- Secure authentication and authorization using JSON Web Tokens (JWT).
- JWT implementation for user registration, login, logout, and password reset functionalities.
- Ensure unique email addresses and usernames during user registration.
- Ensure unique titles or identifiers for each car hire to avoid conflicts.
- Define roles such as admin with permissions to manage car hires, user accounts.
- Allow users to create and update their profiles, including profile images if desired.
- Implement forms with client-side validation for:
- Car hire booking
- User registration
Set up routing for different sections:
- Home page
- Car hire listings/search page
- User profile and account management
- Admin dashboard for managing car hires, users.
- Clone the repository: sh git clone https://github.com/your-username/luxoride.git
- Change into the project directory: sh cd luxoride
- Install the required backend dependencies: sh pip install -r requirements.txt
-
Navigate to the client directory: sh cd client
-
Install the required frontend dependencies: sh npm install
- Start the backend server: sh flask run
- Start the frontend development server:
npm start
This will start the development server, and you can view the application in your browser at http://localhost:3000.
-
Browse Cars
-
Users can view available cars with details like model, year, and price per day.
-
Book Cars
-
Users can select a car, specify rental details, and make a booking.
-
Receive Notifications
-
Users receive notifications confirming successful bookings.
-
Manage Profiles
-
Users can manage their profiles, update information, and view booking history.
-
-[Frontend](https://669651e36a89c985d304c5a8--chipper-bienenstitch-d1c7e8.netlify.app/) -[Backend](https://car-renting-platform.onrender.com)
- Nicole Gesare Onyiego @Gesare-n
- Sam Wambeo @Wambeo
- Samfelix Randa @samfelix61
- Jean Waweru @JeanWaweru
This project is licensed under the MIT License.