This project is a web application for a car sales platform. The application allows users to sign in, log in, post car details, view available cars for sale, and purchase cars. The project utilizes a variety of technologies and frameworks, showcasing expertise in web development, database management, and email communication.
Key Features:
-
User Authentication:
- Sign In: Users can create an account by providing a username, password, and email.
- Log In: Existing users can log in using their credentials.
-
Car Posting:
- Authenticated users can post details about cars they want to sell, including registration number, model, owner name, company name, kilometers driven, ownership details, mobile number, expected price, status, and posted date.
-
Viewing and Purchasing Cars:
- Users can view a list of available cars for sale.
- Users can buy a car, changing its status from 'unsold' to 'sold'.
- Upon purchase, an email notification is sent to the car owner.
-
Search Functionality:
- Users can search for cars based on different criteria, such as car model, company name, etc.
Technologies Used:
- Flask: A Python web framework used to develop the web application.
- HTML, CSS: For front-end design and layout of the web pages.
- pymysql: A Python library for connecting to the MySQL database, used for database operations.
- Flask-Mail: An extension for sending emails from the Flask application.
- MySQL: A relational database management system to store user and car details.
- Session Management: Used to manage user sessions for authentication and authorization.
- Image Handling: Static images are used for the website interface and stored in the 'static/images' directory.
Expertise Demonstrated:
- Web Development: Proficiency in using Flask for creating dynamic and interactive web applications.
- Database Management: Managing and interacting with a MySQL database to store and retrieve user and car information.
- User Authentication: Implementing secure user sign-in and log-in functionality.
- Email Integration: Sending email notifications using Flask-Mail upon successful car purchase.
- Session Management: Managing user sessions to maintain login state and protect routes.
- Form Handling: Handling and processing form data for various functionalities like user registration, car posting, and car search.
- Template Rendering: Using Flask's rendering engine to display HTML templates dynamically.
This project showcases a comprehensive skill set in full-stack web development, integrating front-end and back-end technologies, and handling user authentication and data management effectively.