CarTrade
Welcome to the GitHub repository for the Second Hand Car Selling Website project. This project aims to create a platform where users can buy second-hand cars by contacting dealers. The website features a beautiful homepage, a page to view all available cars with filtering and sorting options, and a dedicated page for dealers to manage their car listings.
Technologies Used
Frontend
- React JS
- HTML
- CSS
- JavaScript
- Redux
The frontend of the website is deployed on Vercel for easy and efficient hosting.
Backend
- Node.js
- Express.js
- JSON Web Tokens (JWT) for authentication
- Bcrypt for password encryption
- MongoDB for the database
The backend of the website is deployed on Render for reliable and scalable server hosting.
Frontend Features
Homepage
The homepage welcomes users with an intuitive and appealing design, providing an excellent first impression and easy navigation.
Cars Page
Users can browse through all available cars. The page offers convenient filter and sorting features by color, price, and mileage, helping users find the perfect car that matches their preferences.
Dealers Page
Dealers can access a dedicated page to manage their car listings. They can add new cars using the "Add Car" page, edit car details, and delete listings as needed.
Authentication
The website includes login and registration pages. For dealer access, the system requires using emails in the format of "@dealer.com" (e.g., shiva@dealer.com).
Add Car Page
The "Add Car" page allows dealers to search for car models and add their details to their respective car listings.
Backend Features
Car Management
The backend enables dealers to add new cars to the platform, providing essential information about each car. Additionally, dealers can filter and search for cars based on color, price, and mileage.
User Authentication
User registration employs bcrypt for password-based authentication, ensuring secure and encrypted storage of user credentials. JSON Web Tokens (JWT) are used to authenticate and authorize users, enhancing the overall security of the website.
What I Have Learned
During this assignment, I have gained valuable experience in building a full-stack web application. I have learned to create a dynamic and responsive frontend using React, HTML, CSS, and JavaScript. Redux has been instrumental in managing the application state efficiently.
On the backend, I have explored Node.js and Express.js, which allowed me to create robust APIs to handle user authentication and car management. MongoDB has served as a flexible and scalable database for storing and retrieving car and user information.
Additionally, I have implemented user authentication with JSON Web Tokens (JWT) and encrypted passwords using Bcrypt, ensuring the security of user data.
This project has also provided me with practical insights into deploying web applications. I have deployed the frontend on Vercel and the backend on Render, which are reliable platforms for hosting web applications.