Len-U-Car is an application that connects people who want to rent out their cars with people who are looking to borrow a car in that locale.
Len-U-Car is an application that is modelled after Airbnb. It takes on the clean and intuitive design of Airbnb to provide a smooth and easy navigation for both the car providers and consumers.
- Postgresql
- Redis
- Knex
- Cloudinary
- Multer
- Express
- Bcrypt
- Sessions
- React
- React Modern Calendar Datepicker
- Hooks: useState, useEffect
- React Dropzone
- React Query
- Material-UI
- React Slick
- Typescript
- JS Cookie
- Formik
- Yup
- Node
- AJAX/ Axios
- Heroku
To develop the app, clone the project and install the dependencies listed in package.json
with:
git clone https://github.com/SparrowMike/len-u-car.git
cd len-u-car
npm ci
You may host the services on your preferred cloud service and set up your .env
with your local ports, e.g.,
PORT = 4000
SECRET=YourSecretHere
REDISPW=YourRedisPassword
POSTGRESPW=YourPostgresqlPassword
CLOUDINARY_API_KEY=CloudinaryAPIKey
CLOUDINARY_API_SECRET=CloudinarySecretHere
CLOUDINARY_NAME=CloudinaryName
HEROKU_POSTGRESQL_URL=postgres://user:password@host:port/database
After which, install the React app in the client
folder
cd client
npm ci
- A user should be able to navigate to "Browse", "Register" or "Login".
- A user should be able to view the cars on display but not able to access the full details.
- A user should be able to register an account with simple details.
- A user should be able to log into the newly created account.
- A user should be able to edit his personal details.
- A user should be able to register his personal car and its image.
- A user should be able to change password of his account.
- A user should be view all his bookings.
- On the "Bookings" page, a user should be able to review his bookings and archive them.
- A user should be able to access any car displayed on screen.
- A user should be able to filter the cars according to the type, transmission and engine type.
- A user should be able to see the full details of the car owner and the car details.
- A user should be able to select the date and book it.
- A user should not be able to choose dates which are already booked.
- A user should be able to view the ratings and reviews left by past users of the car.