Skip to content

InnovAIte-Deakin/AI-Prototyping-Lab---Healthcare-Stream---Derma

Repository files navigation

DERMA (DermaAI)

AI-Powered Dermatologist Assistant

Deakin University Capstone Project

⚠️ MEDICAL DISCLAIMER This application is a Proof of Concept (POC) designed for educational and informational purposes only. It uses Artificial Intelligence to provide preliminary analysis of skin conditions. It is NOT a diagnostic tool. Users must always consult a qualified medical professional for diagnosis and treatment.

📖 Overview

DERMA (internally referred to as DermaAI) is a containerized web application designed to bridge the gap between patients and dermatologists. It allows users to upload images of skin lesions for instant, AI-driven preliminary analysis and facilitates connection with doctors for professional review.

Key Features

  • Patient Portal: Image upload, AI analysis (Google AI Studio/Gemini), chat interface, and "Find a Doctor" locator.
  • Doctor Portal: Secure dashboard for triage, reviewing high-res patient images, and managing appointment requests.
  • AI Engine: Modular AI architecture (currently wrapping Google AI Studio/Gemini) with future-proofing for custom fine-tuned models.

📚 Documentation

🛠 Tech Stack

Frontend

  • Framework: React 19 (Vite)
  • Styling: Tailwind CSS v4
  • Routing: React Router v7

Backend

  • Framework: FastAPI (Python 3.10+)
  • Database: PostgreSQL (via Docker)
  • ORM: SQLAlchemy + Alembic (Migrations)
  • Auth: JWT-based Authentication (python-jose, bcrypt) with RBAC

Infrastructure

  • Containerization: Docker & Docker Compose
  • Version Control: GitHub

🚀 Getting Started (Local Launch)

Follow these steps to set up and run the DermaAI application locally.

Prerequisites

  • Python (3.10+)
  • Node.js (v16+)
  • Docker Desktop (Running)
  • Google Gemini API Key (Get one here)

1. Clone the Repository

git clone https://github.com/InnovAIte-Deakin/AI-Prototyping-Lab---Healthcare-Stream---Derma.git 
cd AI-Prototyping-Lab---Healthcare-Stream---Derma 

2. Backend Setup

The backend handles the API, Database, and AI logic.

# 1. Navigate to backend
cd backend

# 2. Create and Activate Virtual Environment
# Windows:
python -m venv venv
.\venv\Scripts\Activate
# Mac/Linux:
python3 -m venv venv
source venv/bin/activate

# 3. Install Dependencies
pip install -r requirements.txt

# 4. Configure Environment
# Create a .env file in the /backend folder with the following:
# DATABASE_URL=postgresql://dermaai:dermaai@localhost:5432/dermaai
# GOOGLE_API_KEY=your_actual_api_key_here

# 5. Start Database (Docker)
docker-compose up -d

# 6. Setup Database
alembic upgrade head
python -m app.seed_doctors
python -m app.seed_admin

# 7. Run Server
uvicorn app.main:app --reload

Backend running at: http://localhost:8000 Health check: http://localhost:8000/health

3. Frontend Setup

Open a new terminal (keep backend running).

# 1. Navigate to frontend
cd frontend

# 2. Install Dependencies
npm install

# 3. Run Development Server
npm run dev

Frontend running at: http://localhost:5173

4. Access the App

Open your browser to http://localhost:5173.

Test Credentials:

  • Patient: Register a new account.
  • Doctors: alice@derma.com / password123 (See seed_doctors.py for more).
  • Admin: admin@derma.com / adminpass123 (Run python -m app.seed_admin to create. Env-configurable via ADMIN_EMAIL / ADMIN_PASSWORD).

🤝 Development Workflow

We follow a strict "One Task = One Branch" policy.

  1. Pull Latest Main: git checkout main && git pull origin main
  2. Create Task Branch: git checkout -b feat/task-name
  3. Code & Commit: git add . && git commit -m "feat: description"
  4. Push: git push origin feat/task-name
  5. Pull Request: Open PR on GitHub.

📂 Project Structure

skin-scope/  
├── backend/            # FastAPI Application  
│   ├── app/            # Source Code
│   │   ├── routes/     # API Endpoints
│   │   ├── services/   # Business Logic
│   │   └── models.py   # DB Models
│   └── media/          # Uploaded Images
├── frontend/           # React Application  
│   ├── src/            # Source Code
│   │   ├── pages/      # Views
│   │   └── components/ # UI Components
└── docs/               # Documentation

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors