Here is a working live demo: https://morent-zeta.vercel.app/ https://www.loom.com/share/64be3ad8506e4540a4f61fa83008ad29?sid=907f74a0-5458-493e-a9ba-b6405858875c
Morent is a cutting-edge car rental application developed using Next.js, and MongoDB. The app boasts a dynamic homepage that showcases featured vehicles, along with convenient pickup & drop-off location options & a comprehensive list of available cars.
To get this project up and running in your development environment, follow these step-by-step instructions.
We need to install or make sure that these tools are pre-installed on your machine:
- Homepage - Consisting of a banner of highlighted cars to rent, pickup and dropoff pickers, list of vehicles available for rent.
- All Cars Page - List of vehicles, search, a sidebar with filtering functionality
- Car Details Page - Consisting of additional car details, such as images, title, brand, price, and a list of other recommended cars available for rent.
- Add a Car Page - Add car details (images, title, brand, price) through a form. After submission, the car should appear on the home page
- Car Rent Page - Clicking on “Rent Now” utilizes Stripe’s payment functionalities and redirects to a Stripe-powered checkout page.
- User page - Displays a list of cars rented by the user and cars put for rent by the user.
- Payments - Stripe to handle payments
- Add Cars to Favorite
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 https://github.com/DevTaehong/Morent.git
# Go into the repository
$ cd Morent
# Install dependencies
$ npm install
# Run the app
$ npm start
Note If you're using Linux Bash for Windows, see this guide or use
node
from the command prompt.
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
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.
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<clerk_publishable_key>
CLERK_SECRET_KEY=<clerk_secret_key>
WEBHOOK_SECRET=<webhook_secret>
# Clerk URLs
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=/onboarding
# Direct URL and Database URL
DIRECT_URL=<direct_url>
DATABASE_URL=<database_url>
# MongoDB Configuration
MONGODB_UR=<mongodb_url>
# Uploadthing
UPLOADTHING_SECRET=<uploadthing_secret>
UPLOADTHING_APP_ID=<uploadthing_app_id>
# Stripe API Keys
STRIPE_SECRET_KEY=<stripe_secret_key>
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=<next_public_stripe_publishable_key>
👦 Tye Stanley
Email: jamesdrysdale84@gmail.com
GitHub: @JamesDrysdale
👦 Glen McCallum
Email: glen.mccallum@live.co.uk
GitHub: @glenmac90
👦 Alexander Mc Lachlan
Email: alexmonk17@gmail.com
GitHub: @AlexDjangoX