Skip to content

tehilaamram/Luxury-Motors-MERN

Repository files navigation

Luxury Motors

This project is a web for buying luxury vehicles. In this application you can add vehicles, register with email and password, reset password by email that is being sent to your email, open chat rooms, real-time chat, cart, manage orders, manage users and so on.
All pages are responsive.

Home page

home

Catalog page

  • Desktop

    desktop view

  • Tablet

    tablet view

  • Mobile


Vehicle Details page (signed in user view)

vehicle details main
vehicle details specs
vehicle details comments

Sign in modal

sign in modal

Cart page



cart page

Buy Process



summary

payment

done

Chat Rooms

  • Add Room

    new room

  • Request to join room

    join room

  • Manage requests

    manage requests

  • Search in chat

    chat search

Orders history page

history orders

Manage orders page

manage orders page

Add Vehicle page

add vehicle

Error page

error

Run the project

1. Go to routes -> index.js

Define email for reset password process

Write your Gmail email address at "serverEmailAddress" (line 9)
Write your email password at "serverEmailPassword" (line 10)
routes/index.js
At your email account security settings enable control access to less secure apps

2. Make sure that MongoDB service is running

3. Create new folder named "uploadedImages" in the root directory (same level as src, routes etc.)

4. Insert Vehicles to the DB npm run addVehicles

Run the helpscripts -> addVehicleList.js script

5. Insert Users to the DB npm run addUsers

Run the helpscripts -> addUsers.js script
This script adds Admin user, if you register by the site you'll get a user permission, Change the email, name, or any othe field in that script as you want for your comfort.

6. npm run server_start

Run the server side app: http://localhost:3010

7. npm run client_start

Run the client side app in development mode.
Open http://localhost:3000 to view it in the browser.

Technologies

  • JQuery: SlideShow component
  • Socket.io: Chat
  • Passport: User authentication
  • Nodemailer: Reset password
  • Media query: Responsive web application
  • Material-UI: AppBar and other components
  • MongoDB: Database
  • React: Client side
  • Node.js: Server side
  • Axios: HTTP requests
  • JavaScript: Programming language
  • CSS: Design
  • Cookie: Cart
  • Session: HTTP requests authentication