StarClassifier is a web application that allows users to upload images and classify them using machine learning. It's built with a React frontend, Express backend, and a FastAPI-based machine learning service.
The project is divided into three main parts:
- Frontend (React)
- Backend (Express)
- ML Backend (FastAPI)
(flows folder have the flowchart explanation of the project)
-
Clone the repository
-
Install dependencies for each part of the project:
open 3 terminals cd frontend && npm install cd backend && npm install cd ml-backend && poetry install && poetry shell
-
Set up environment variables:
- Create a
.env
file in thebackend
directory with help of.env.example
file - Create a
.env
file in thefrontend
directory with help of.env.example
file
- Create a
-
Start the services:
- Frontend:
cd frontend && npm start
- Backend:
cd backend && npm start
- ML Backend:
cd ml-backend && uvicorn main:app --reload
- Frontend:
Contributions are welcome! Please see the CONTRIBUTING.md file for guidelines.
Developed by the Catalyst community - @leocodeio
go to /frontend
docker build -t fe-image .
docker run -p 3000:3000 fe-image
you can access the frontend at http://localhost:3000
go to /backend
docker build -t be-image .
docker run -p 3001:3001 be-image
you can access the backend at http://localhost:3001
go to /ml-backend
docker build -t ml-be-image .
docker run -p 8000:8000 ml-be-image
you can access the ml-backend at http://localhost:8000
in the root directory
docker compose up -d
you can access the frontend at http://localhost:3000 you can access the backend at http://localhost:3001 you can access the ml-backend at http://localhost:8000/docs
to stop the services
docker compose down