Skip to content

Thekorzeremi/FMC_SYSTEM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FMC_System

Developer Version Backend Frontend
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.

DISCLAIMER

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.

Expected features

  • 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.

Repository Structure

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

Project architecture goal

+------------------------+
|      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     |
+------------------------+

Current project architecture

+------------------------+
|      Frontend          |
|      SvelteKit         |
+-----------+------------+
            |
            |
            |
+-----------+------------+
|        FastAPI         |
|    Exposes REST API    |--------|
+-----------+------------+        |
            |                     |
            |                     |
            |                     |
+------------------------+        |
|    Scraper Manager     |        | 
| Selenium UDC / Sources |        |
+-----------+------------+        |
            |                     |
            |                     |
+------------------------+        |
|       Database         |--------|
| Users / Cars / Fav     |
+------------------------+

Technologies Used

  • Backend: Python, FastAPI, Uvicorn
  • Frontend: SvelteKit
  • Database: PostgreSQL, SQLAlchemy
  • Scraping: Selenium UDC
  • AI Integration: MCP (Model Context Protocol)
  • Authentication: JWT (JSON Web Tokens), Passlib

Configuration

  1. Clone the repository:
  2. cd FMC_System
  3. 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)
  4. Install backend dependencies:
    • cd backend
    • pip install -r backend/requirements.txt
  5. Please launch your postgresql server
  6. In PSQL, create a new database for the project:
    • CREATE DATABASE fmc_system;
  7. Configure database connection in backend/app/database.py:
    • Update the DATABASE_URL with your PostgreSQL credentials and database.
  8. Launch API server:
    • cd backend
    • uvicorn app.main:app --reload
  9. Install frontend dependencies :
    • cd frontend
    • npm i
  10. Start your frontend server :
  • npm run dev
  1. Open your browser and navigate to http://localhost:5173 to access the application.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Thanks

Feel free to clone the repository and explore the codebase.

About

An online platform to guide your choices when purchasing a used car.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors