- π About the Project
- βοΈ Setting Up Environment Variables
- π₯οΈ Backend Integration
- π» Getting Started
- π₯ Authors
- π Future Features
- π€ Contributing
- βοΈ Show your support
- π Acknowledgements
- π License
Tesla | Booking App is a project developed by Front-end Arturo Emanuel Guerra Iturres, Mahammad Mostafa, and Back-end Demes Ameneshoa and Fatema Nazari.
Book your ideal Tesla model effortlessly with our new Tesla vehicle booking app! Enjoy daily rates on our five available models, available in cities worldwide. Experience the best service in the industry.
- Back-end repository: Tesla | Booking App - Back-end.
- Apply technical knowledge and skills gained in previous modules in a complex project.
- Understand pros and cons of different approaches of connecting Ruby on Rails back-end with React front-end.
- Understand principles of Ruby on Rails and React frameworks.
- Apply JavaScript best practices and language style guides in code.
- Apply React best practices and language style guides in code.
- Learn about and practice giving constructive feedback to teammates.
- Perform a code reviews for a team member.
- Use the "Review change"" feature from GitHub.
- Write clear, professional, and respectful review comments for other team members.
- Explain "why" a change is requested when giving a code review.
- Plan a 2+ week project with no interim Microverse-set milestones and submit it on time.
- Apply knowledge of setting working agreements to set group project teams up for success.
- Independently implement best practices for group agreements to improve teamwork in larger group project.
- Demonstrate ability to apply best practices of communication for resolving teamwork challenges.
- Understand that respect is the foundation of strong relationship-building with teammates.
- Show up throughout group projects as a reliable and committed team member who communicates and manages your time effectively.
- Recognize the importance of investing in good working relationships with teammates.
- Understand principles of strong teamwork (being reliable, committed, and consistent) and how to apply them in group projects.
- Recognize the value of making equal contributions to group projects to produce the best outcome.
- Use empty Kanban board to manage tasks with team and own time on the project.
In order to run this project, you'll need to set up your environment variables. We've provided a .env_sample
file that you can use as a template. Follow these steps to configure your environment variables:
-
Create a Copy of
.env_sample
- Duplicate the
.env_sample
file and rename it to.env
.
- Duplicate the
-
Replace Placeholder Values
- Open the
.env
file in a text editor. - Replace the placeholder values (e.g.,
YOUR_API_BASE_URL
,YOUR_API_SIGNUP_ENDPOINT
, etc.) with your actual API details.
- Open the
-
Save the Changes
- Save the changes to the
.env
file.
- Save the changes to the
-
Usage in the Project
- The project will now automatically pick up the environment variables from the
.env
file during runtime.
- The project will now automatically pick up the environment variables from the
- Security: Keep your
.env
file secure and never expose it publicly, as it may contain sensitive information. - Git Ignored: Ensure that the
.env
file is listed in your.gitignore
to prevent accidental commits of sensitive information.
This project relies on a backend service to fetch and handle data. To ensure the project functions correctly, it's crucial to have a working backend with the corresponding API keys. If you don't have a backend set up yet, follow these steps:
-
Set Up Backend:
- Create or use an existing backend service, e.g our Tesla Booking backend - repo | Tesla Booking API-documentation that supports the functionalities specified in the API endpoints provided in the
.env
file.
- Create or use an existing backend service, e.g our Tesla Booking backend - repo | Tesla Booking API-documentation that supports the functionalities specified in the API endpoints provided in the
-
Replace API Endpoints:
- Ensure that the API endpoints in the
.env
file match the corresponding routes and functionality in your backend.
- Ensure that the API endpoints in the
-
Environment Variables:
- Make sure that the environment variables set in the
.env
file are configured in your backend environment.
- Make sure that the environment variables set in the
-
Run Backend:
- Start your backend service to handle API requests from the frontend.
- Backend Requirement: This project requires a backend to fully operate. Ensure that your backend is configured correctly with the provided API keys for seamless integration.
Feel free to reach out if you encounter any issues or need further assistance with the setup.
- Register with name, email, and password.
- Log in with email and password.
- View the latest models of Tesla vehicles.
- Book a ride for a Tesla vehicle.
- View the details of the vehicle.
- View the details of the reservation.
- Add a new vehicle to the database.
- Delete its own vehicles from the database.
- Responsive design for all devices.
To get a local copy up and running, follow these steps.
In order to run this project you need:
Clone this repository to your desired folder:
Example commands:
- With SSH:
cd my-folder
git clone [email protected]:ITurres/tesla-booking-front-end.git
- With HTTPS:
cd my-folder
git clone https://github.com/ITurres/tesla-booking-front-end.git
- With GitHub CLI:
cd my-folder
gh repo clone ITurres/tesla-booking-front-end
Install this project's dependencies with:
npm install
To run the project, execute the following command:
npm run start
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
npx eslint "**/*.{js,jsx}"
npx stylelint "**/*.{css,scss}"
π€ Arthur Iturres
- GitHub: @ITurres
- LinkedIn: Arthur Emanuel G. Iturres
- Angellist / Wellfound: Arturo (Arthur) Emanuel Guerra Iturres
- Youtube: Arturo Emanuel Guerra Iturres - Youtube Channel
- Portfolio: Arthur Iturres - Portfolio
π€ Mahammad Mostafa
- Test the app with Jest and React Testing Library.
- Address all the inner issues left at the final-touches issue.
- Dark mode.
- Option to Delete reservations.
- Add "Social Login".
- Replace Loading Spinners with Loading Structure (Skeleton Loading).
- TypeScript migration.
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
Give a β if you liked this project!
-
We the team would like to thank each other for the hard work and dedication to this project. We would also like to thank the Code Reviewers and Project Managers for their support and guidance throughout the project.
-
Original design idea by Murat Korkmaz.
This project is MIT licensed.