Spexy is an intelligent platform that recommends eyeglasses based on the shape of the user's face. This repository contains the codebase for both the backend and frontend of Spexy, allowing seamless functionality from user input to eyeglass recommendations.
The frontend of the app is built using React framework and backend is built using FastAPI.
To get started with Spexy, clone the repository and change to the directory. Then follow the setup instructions for both the backend and frontend to run the application locally.
git clone https://github.com/bipana06/Final_Project_PPDS.git
cd Final_Project_PPDS- Python 3.x installed on your system
- Virtual environment package (venv)
- MongoDB for data storage
- 
Create and activate a virtual environment: python -m venv env 
To activate the virtual environment use one of the following commands based on your OS:
On Unix-based systems use:
source env/bin/activateOn Windows systems use:
env\Scripts\activate- 
Install the required packages: pip install -r requirements.txt 
- 
Create a .envfile inside theFINAL_PROJECT_PPDSfolder and add your MongoDB URI:MONGODB_URI=your_mongodb_uri
- 
Navigate to the spexy-backenddirectory and run the server usinguvicorn:cd spexy-backend uvicorn main:app --reload
By default, the backend will start on port 8000.
- Node.js and npm installed on your system
Start a new terminal and cd into the Final_Project_PPDS directory.
  cd Final_Project_PPDS- 
Navigate to the spexy-frontenddirectory :cd spexy-frontend
- 
Install the required dependencies: npm install 
- 
Create and update the /spexy-frontend/.envfile with your Roboflow API key:touch .env REACT_APP_RoboflowAPI=your_roboflow_api
- 
Start the frontend server: npm start 
By default, the frontend will start on port 3000.
Create a .env file inside the FINAL_PROJECT_PPDS folder with the following content:
MONGODB_URI=your_mongodb_uri
Also create .env file in the spexy-frontend folder:
REACT_APP_RoboflowAPI=your_roboflow_api
- spexy-backend/: Contains the backend code.
- main.py: Entry point for the backend server.
- /scrapper: Code to run the data scrapper and populate database
 
- spexy-frontend/: Contains the frontend
- /src/componentscontains all the components of the program.
- App.jscontains the entrypoint for the frontend React App.