An AI-powered platform for early detection and monitoring of Parkinson's Disease using MRI scan analysis.
- MRI Scan Analysis - Deep learning model (ONNX) for accurate Parkinson's detection
- Role-Based Access - Admin, Doctor, and Patient dashboards with specific features
- AI Chat with RAG - Patient-specific knowledge retrieval for personalized Q&A
- Auto-Generated Reports - PDF reports with diagnosis results and recommendations
- Dark/Light Mode - Theme toggle with persistence
- Responsive Design - Works on desktop and mobile
| Layer | Technologies |
|---|---|
| Frontend | Next.js 14, React, TypeScript, Tailwind CSS |
| Backend | FastAPI, Python 3.10+, SQLAlchemy, SQLite |
| AI/ML | ONNX Runtime, Sentence Transformers, Groq API |
- Python 3.10 or higher
- Node.js 18 or higher
- npm (comes with Node.js)
Terminal 1 - Backend:
# Navigate to backend folder
cd Backend
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Start the backend server
uvicorn main:app --reloadTerminal 2 - Frontend:
# Navigate to frontend folder
cd Frontend
# Install dependencies
npm install
# Start the development server
npm run devTerminal 1 - Backend:
:: Navigate to backend folder
cd Backend
:: Create virtual environment
python -m venv venv
:: Activate virtual environment
venv\Scripts\activate
:: Install dependencies
pip install -r requirements.txt
:: Start the backend server
uvicorn main:app --reloadTerminal 2 - Frontend:
:: Navigate to frontend folder
cd Frontend
:: Install dependencies
npm install
:: Start the development server
npm run devAfter starting both servers:
| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8000 |
| API Docs | http://localhost:8000/docs |
| Role | Username | Password |
|---|---|---|
| Admin | admin |
Admin123 |
| Doctor | doctor1 |
Doctor123 |
| Patient | patient1 |
Patient123 |
Create a .env file in the Backend/ folder:
# Application
DEBUG=True
API_V1_STR=/api/v1
# AI Provider (groq or openai)
AI_PROVIDER=openai
# OpenAI API Configuration
OPENAI_API_KEY=your_openai_api_key_here
OPENAI_MODEL=gpt-4o-mini
OPENAI_MAX_TOKENS=4096
OPENAI_TEMPERATURE=0.4
OPENAI_TIMEOUT=30
# Groq API Configuration (alternative to OpenAI)
GROQ_API_KEY=your_groq_api_key_here
GROQ_MODEL=llama-3.3-70b-versatile
GROQ_MAX_TOKENS=4096
GROQ_TEMPERATURE=0.4
GROQ_TIMEOUT=30
# Database Configuration
DATABASE_URL=sqlite:///./data/database/parkinson_db.db
# Security
SECRET_KEY=your_secret_key_here
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# Paths
UPLOAD_DIR=./data/uploads
EMBEDDINGS_DIR=./data/embeddings
REPORTS_DIR=./data/reports
DOCUMENTS_DIR=./data/documents
# CORS
CORS_ORIGINS=["http://localhost:3000","http://localhost:8000"]
# Embeddings
EMBEDDING_MODEL=all-MiniLM-L6-v2
SIMILARITY_THRESHOLD=0.5
# ONNX Model
ONNX_MODEL_PATH=./model/model.onnx├── Backend/
│ ├── app/
│ │ ├── api/v1/ # API routes
│ │ ├── core/ # Config, auth, database
│ │ ├── models/ # SQLAlchemy models
│ │ ├── schemas/ # Pydantic schemas
│ │ └── services/ # Business logic
│ ├── data/ # Data storage (gitignored)
│ ├── model/ # ML model files
│ ├── main.py # FastAPI entry point
│ └── requirements.txt
│
├── Frontend/
│ ├── src/
│ │ ├── app/ # Next.js pages
│ │ ├── components/ # React components
│ │ ├── lib/ # API utilities
│ │ └── store/ # Zustand auth store
│ ├── package.json
│ └── tailwind.config.js
│
└── .gitignore
This project is licensed under the MIT License.