Skip to content

An online booking system designed to meet the needs of any car-renting business. Allows a user to rent cars from a variety of locations and post their own vehicle for rent. User is able to upload photos of their vehicle and accept payments via Stripe.

License

Notifications You must be signed in to change notification settings

ManmeetSinghJohal/rentwheels

Repository files navigation

nodedotjs nextdotjs tailwindcss

RentWheels

This is a Next.js project bootstrapped with create-next-app.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

  1. 🌐 Demo
  2. πŸ€– Introduction
  3. πŸ“ Description
  4. βš™οΈ Tech Stack
  5. πŸ”‹ Features
  6. πŸ› οΈ Setup
  7. πŸ” Usage
  8. βœ… To-do
  9. πŸ“œ Credits
  10. πŸ“š References
  11. πŸ“ž Contact
  12. πŸ“‹ License

Here is a working live demo: RentWheels

RentWheels - An online booking system designed to meet the needs of any car-renting business. Allows a user to rent cars from a variety of locations and post their own vehicle for rent. User is able to upload photos of their vehicle and accept payments via Stripe.

Welcome to my project! Here, I'll provide you with a brief overview of what inspired me to create it, why it solves a problem, and what I've learned throughout its development.

  • Motivation: I was motivated to build this project to address a specific issue and to enhance my coding skills.
  • Why I Built This Project: My main goal was to create a practical and user-friendly solution to a real-world problem.
  • Problem Solved: This project aims to simplify a particular task, making it more efficient and accessible.
  • What I Learned: Throughout the development process, I gained valuable insights into various technologies and programming concepts.
  • Next.js
  • TypeScript
  • PostgresSQL
  • Shadcn
  • Tailwind CSS
  • Prisma ORM
  • Clerk
  • AuthO
  • React-Hook form
  • Zod
  • Stripe
  • Uploadthing

πŸ‘‰ Authentication: Seamlessly log in or sign up.

πŸ‘‰ Profile Management: Easily update profile details and link social media accounts for enhanced connectivity.

πŸ‘‰ Search & Filter: Retrieve cars swiftly with global search and filtering.

πŸ‘‰ Upload Cars: Upload photos of your cars.

πŸ‘‰ Make a Payment: Pay for renting a car via Stripe.

πŸ‘‰ Car Collection: Explore content easily with pagination features.

πŸ‘‰ Responsive: Ensures seamless functionality and aesthetics across all devices and many more, including code architecture and reusability.

To get this project up and running in your development environment, follow these step-by-step instructions.

🍴 Prerequisites

We need to install or make sure that these tools are pre-installed on your machine:

  • NodeJS: It is a JavaScript runtime build.
  • Git: It is an open source version control system.

πŸš€ Install Project

  1. Clone the Repository
git clone [email protected]:ManmeetSinghJohal/rentwheels.git
  1. Install packages
npm install
  1. Create a .env file
CLERK_SECRET_KEY=sk_test_...........
CLERK_WEBHOOK_SECRET=whsec_.........

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_.......
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/ 

NX_DAEMON=""
POSTGRES_URL="postgres://default:......."
POSTGRES_PRISMA_URL="postgres://default:......"
POSTGRES_URL_NON_POOLING="postgres://default......."
POSTGRES_USER="default"
POSTGRES_HOST="ep-empty-......"
POSTGRES_PASSWORD="S7......"
POSTGRES_DATABASE="ver...."
TURBO_REMOTE_ONLY=""
TURBO_RUN_SUMMARY=""
VERCEL="1"
VERCEL_ENV="development"
VERCEL_GIT_COMMIT_AUTHOR_LOGIN=""
VERCEL_GIT_COMMIT_AUTHOR_NAME=""
VERCEL_GIT_COMMIT_MESSAGE=""
VERCEL_GIT_COMMIT_REF=""
VERCEL_GIT_COMMIT_SHA=""
VERCEL_GIT_PREVIOUS_SHA=""
VERCEL_GIT_PROVIDER=""
VERCEL_GIT_PULL_REQUEST_ID=""
VERCEL_GIT_REPO_ID=""
VERCEL_GIT_REPO_OWNER=""
VERCEL_GIT_REPO_SLUG=""
VERCEL_URL=""

DATABASE_URL=postgresql:/......
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=AIza......

NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_5......
STRIPE_SECRET_KEY=sk_test_......
STRIPE_WEBHOOK_SECRET=whsec_......

NEXT_PUBLIC_SERVER_URL=http://localhost:3000/

UPLOADTHING_SECRET=sk_live_.....
UPLOADTHING_APP_ID=slxhot...... 
  1. Run the dev server.
npm run dev

How To Use

To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:

# Clone this repository
$ git clone [email protected]:ManmeetSinghJohal/rentwheels.git

# Go into the repository
$ cd projectname

# Install dependencies
$ npm install

# Run the app
$ npm run dev

Note If you're using Linux Bash for Windows, see this guide or use node from the command prompt.

βš’οΈ How to Contribute

Want to contribute? Great!

To fix a bug or enhance an existing module, follow these steps:

  • Fork the repo
  • Create a new branch (git checkout -b improve-feature)
  • Make the appropriate changes in the files
  • Add changes to reflect the changes made
  • Commit your changes (git commit -am 'Improve feature')
  • Push to the branch (git push origin improve-feature)
  • Create a Pull Request

πŸ“© Bug / Feature Request

If you find a bug (the website couldn't handle the query and / or gave undesired results), kindly open an issue here by including your search query and the expected result.

If you'd like to request a new function, feel free to do so by opening an issue here. Please include sample queries and their corresponding results.

Will update soon!

I'd like to acknowledge my collaborators, who contributed to the success of this project. Below are links to their GitHub profiles.

Furthermore, I utilized certain third-party assets that require attribution. Find the creators' links in this section.

If I followed tutorials during development, I'd include the links to those as well.

πŸ‘¦ Marko Todorovic
Email: [email protected]
GitHub: @Marko026

πŸ‘¦ Stephan Yu
Email: [email protected]
GitHub: @StephanYu

πŸ‘¦ Romain Dussuchal
Email: [email protected]
GitHub: @RomainDussuchal

None at the moment.

Follow us on LinkedIn

License: MIT

About

An online booking system designed to meet the needs of any car-renting business. Allows a user to rent cars from a variety of locations and post their own vehicle for rent. User is able to upload photos of their vehicle and accept payments via Stripe.

Topics

Resources

License

Stars

Watchers

Forks