title: Pathora Colposcopy Assistant
emoji: π¬
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
app_port: 7860
Pathora Colposcopy Assistant
A comprehensive React-based colposcopy assistant application with image annotation, patient history tracking, Swede Score assessment, and AI-powered chatbot features.
Local Development
The app has two parts that need to run at the same time:
- Backend β FastAPI (Python) on
http://localhost:8000 - Frontend β Vite dev server (React) on
http://localhost:5173
Vite is pre-configured to proxy all /api/* and /infer/* requests to the backend.
Step 1 β Set up your Gemini API key
Copy .env.example to .env and fill in your key:
cp .env.example .env # or rename a copy manually on Windows
Edit .env:
GEMINI_API_KEY=your_actual_gemini_api_key_here
Get a free key at: https://makersuite.google.com/app/apikey
Step 2 β Install Python dependencies (backend)
It is recommended to use a virtual environment:
# Create and activate a virtual environment (Windows)
python -m venv .venv
.venv\Scripts\activate
# Install backend packages
pip install -r backend/requirements.txt
Step 3 β Start the FastAPI backend
From the project root folder, run:
uvicorn backend.app:app --host 0.0.0.0 --port 8000 --reload
The API will be available at http://localhost:8000.
You can test the health endpoint: http://localhost:8000/health
Step 4 β Install Node.js dependencies (frontend)
npm install
Step 5 β Start the Vite dev server
In a separate terminal, from the project root:
npm run dev
The app will be available at http://localhost:5173.
Step 6 β Build for production
npm run build
Deploy to Hugging Face Spaces
This project is configured for deployment on Hugging Face Spaces using Docker runtime.
Step-by-Step Deployment Instructions
Step 1: Install Git and Git LFS
If you don't have Git installed:
- Download and install Git from https://git-scm.com/download/win
- Restart your terminal after installation
Install Git LFS (Large File Storage):
git lfs install
Step 2: Initialize Git Repository
Navigate to your project folder and initialize Git:
cd "c:\Users\FARRUKH SAYEED\OneDrive\Desktop\Manalife Internship\Pathora_colpo"
git init
Step 3: Add Hugging Face Remote
Add your Hugging Face Space as the remote repository:
git remote add origin https://huggingface.co/spaces/ManalifeAI/Pathora_Colposcopy_Assistant
Step 4: Stage All Files
Add all files to Git:
git add .
Step 5: Commit Your Changes
Create your first commit:
git commit -m "Initial deployment of Pathora Colposcopy Assistant"
Step 6: Push to Hugging Face
Push your code to Hugging Face Spaces:
git push -u origin main
Note: You'll be prompted for your Hugging Face credentials:
- Username: Your Hugging Face username
- Password: Use a Hugging Face Access Token (not your password)
- Get token from: https://huggingface.co/settings/tokens
- Create a new token with "write" access if you don't have one
Step 7: Wait for Build
After pushing:
- Go to https://huggingface.co/spaces/ManalifeAI/Pathora_Colposcopy_Assistant
- The Space will automatically start building from the Dockerfile
- Wait 2-5 minutes for the build to complete
- Your app will be live at the Space URL
Updating Your Space
To push updates after making changes:
git add .
git commit -m "Description of your changes"
git push
Local Docker Testing (Optional)
Test the Docker build locally before deploying:
# Build the image
docker build -t pathora-colposcopy .
# Run the container
docker run --rm -e PORT=7860 -p 7860:7860 pathora-colposcopy
# Open http://localhost:7860 in your browser
Project Structure
src/- React TypeScript source codecomponents/- Reusable UI componentspages/- Page components
public/- Static assetsDockerfile- Docker configuration for Hugging Face Spacesvite.config.ts- Vite build configuration
Technologies Used
- React 18
- TypeScript
- Vite
- Tailwind CSS
- Lucide React Icons
- html2pdf.js
Space URL
π Live at: https://huggingface.co/spaces/ManalifeAI/Pathora_Colposcopy_Assistant