FMC_System (FindMyCar_System) is a full project to guide your choices when purchasing a used car. The system is designed to retrieve and store purchasable used cars from several online sources and provide a web interface to search and filter the cars based on user preferences.
The user can see specific cars reviews and can also discuss with AI to get recommendations based on their needs and budget.
This project is intended for educational purposes only. The author is not responsible for any misuse of the code or any consequences that may arise from its use. Always ensure compliance with the terms of service of the websites you are scraping data from. Website used in this project are for demonstration purposes only and may not be scraped without permission. I'm not affiliated with any of the websites used in this project. I'm not responsible for any legal issues that may arise from the use of this project.
- User can create a new account and log in to the system to access personnal searches.
- User can search for used cars based on various criteria such as make, model, year, price range, mileage, etc.
- User can discuss with AI to get car recommendations based on their needs and budget.
- When plan to buying a used car, user can get advice from AI on what to check before making the purchase.
- Each car has a score based on its specifications and market value.
- User can see car reviews, cons and pros.
- User can filter the search results to narrow down the options.
- User can view detailed information about each car listing, including images, specifications, and seller contact information.
- User can save favorite listings for future reference.
FMC_System/
│── backend/ # Backend server (FastAPI)
│ │── app/
│ │ │── .env # Environment variables
│ │ │── .env.local # Local environment variables
│ │ │── api.py # API routes and logic
│ │ │── database.py # DB connection
│ │ │── deps.py # Dependency injections
│ │ │── init_db.py # Database initialization script
│ │ │── jwtT.py # Authentication (JWT)
│ │ │── main.py # FastAPI entrypoint
│ │ │── migrate-db.py # Migration database program
│ │ │── models.py # Database models (SQLAlchemy)
│ │ │── repository.py # Database operations
│ │ │── schemas.py # Pydantic schemas
│ │ │── scraper.py # Scraper program
│ │── requirements.txt # Backend dependencies
│
│── frontend/ # SvelteKit frontend
│ │── src/
│ │ │── components/ # Svelte components
│ │ │── lib/ # Assets, styles, stores…
│ │ │── routes/ # Pages (login, search, chat…)
│ │── static/ # Static files
│ │ │── robots.txt # Robots.txt for SEO
│
│── .gitignore # Git ignore file
│── LICENSE.md # License information
│── README.md # Project documentation
+------------------------+
| Frontend |
| SvelteKit |
| Auth / Search / Chat |
+-----------+------------+
|
| HTTP + MCP
v
+-----------+------------+ +------------------------+
| FastAPI | | MCP Server |
| Auth / Search / DB |<------>| AI Tools (Python) |
| Exposes REST API | | search_cars(), etc. |
+-----------+------------+ +------------------------+
|
| Python calls
v
+------------------------+
| Scraper Manager |
| Selenium UDC / Sources |
+-----------+------------+
|
v
+------------------------+
| Database |
| Users / Cars / Fav |
+------------------------+
+------------------------+
| Frontend |
| SvelteKit |
+-----------+------------+
|
|
|
+-----------+------------+
| FastAPI |
| Exposes REST API |--------|
+-----------+------------+ |
| |
| |
| |
+------------------------+ |
| Scraper Manager | |
| Selenium UDC / Sources | |
+-----------+------------+ |
| |
| |
+------------------------+ |
| Database |--------|
| Users / Cars / Fav |
+------------------------+
- Backend: Python, FastAPI, Uvicorn
- Frontend: SvelteKit
- Database: PostgreSQL, SQLAlchemy
- Scraping: Selenium UDC
- AI Integration: MCP (Model Context Protocol)
- Authentication: JWT (JSON Web Tokens), Passlib
- Clone the repository:
- cd FMC_System
- Create a virtual environment and activate it:
- python -m venv venv-path
- venv-path\Scripts\activate.ps1 (Windows) or source venv-path/bin/activate (Linux/Mac)
- Install backend dependencies:
- cd backend
- pip install -r backend/requirements.txt
- Please launch your postgresql server
- In PSQL, create a new database for the project:
- CREATE DATABASE fmc_system;
- Configure database connection in
backend/app/database.py:- Update the DATABASE_URL with your PostgreSQL credentials and database.
- Launch API server:
- cd backend
- uvicorn app.main:app --reload
- Install frontend dependencies :
- cd frontend
- npm i
- Start your frontend server :
- npm run dev
- Open your browser and navigate to
http://localhost:5173to access the application.
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to clone the repository and explore the codebase.