This project was made for the UQIES x Emmanuel College Hackathon, we are now bringing this app live into the public domain and this is a playground of the features to expect from both accounts if you are unaware of. HealthTrace is a role-based healthcare tracking app for patients and doctors.
- Node.js 18+ and npm
- Python 3.10+
- Clone the repo and move into it.
- Install dependencies:
npm install- Install backend Python packages:
python -m venv .venv
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# Linux/macOS
source .venv/bin/activate
pip install -r backend/requirements.txt- Start both frontend and backend together:
npm run devThis runs:
npm start # Vite frontend
npm run start:backend # Flask backend on 127.0.0.1:5001 (cross-platform .venv path)- Open the local URL shown by Vite in the terminal.
- Frontend only:
npm start- Backend only:
npm run start:backendThis command is cross-platform and auto-uses .venv on both Windows and Linux.
npm run build # production build
npm run preview # preview production build locally
npm run lint # lint
npm run lint:fix # lint + auto-fix- Authenticated app shell with auth check, loading state, and login redirect.
- First-time onboarding flow with role selection (
patientordoctor). - Role-aware landing routes and navigation.
- Find doctors by name/specialization and send connection requests.
- Track request status (
pending,accepted,rejected). - Fill dynamic health forms assigned by connected doctors.
- View health form submission history.
- Book appointments with connected doctors.
- See available time slots based on existing bookings.
- View upcoming/past/cancelled appointments.
- Cancel upcoming appointments (with a >24h constraint and emergency warning).
- Medication diary calendar with day-based completion tracking.
- Dashboard with patient/upcoming/completed stats.
- Month calendar + day timeline view for appointment management.
- Mark appointments as completed or cancelled.
- Receive and handle patient connection requests.
- Patient log directory with search.
- Patient profile view with submissions, medications, and appointments.
- Assign medication plans (type, dosage, date range, frequency).
- Create custom health forms with multiple question types.
- Responsive app layout (desktop and mobile nav variants).
- Toast notifications for key success/error actions.
- React Query for server state fetching/caching/invalidation.
- Route-based app structure with protected/auth-aware flows.