Thera is a bilingual (English / Arabic) mental wellness web platform: guided AI support, therapist discovery, booking, payments (card via Polar or bank transfer via therapist Instapay links), video sessions (Daily.co), and role-based dashboards for adults, parents, teens, therapists, and administrators.
Submitted for review by Edu Tech and We Schools as the capstone project of Semi Colon Team.
| Document | Description |
|---|---|
| docs/ARCHITECTURE.md | System diagrams (Mermaid), components, environment variables by host |
| docs/FEATURES.md | Feature list mapped to routes and APIs |
| docs/DEPLOYMENT.md | Firebase, Vercel, secrets, and go-live checklist |
| README.ar.md | العربية — نفس المحتوى التعريفي بالعربية الفصحى |
| Name | Role |
|---|---|
| Menna Mohamed Bashir | UX/UI Designer & AI |
| Merna Mohamed | Back-End Developer |
| Raneem El-Saeed | Database Engineer |
| Mohamed Ahmed | Front-End Developer |
| Area | Technologies |
|---|---|
| App framework | TanStack Start, TanStack Router, React 19, Vite |
| UI | Tailwind CSS, Radix UI, Framer Motion |
| Data & auth | Firebase Authentication, Cloud Firestore, Cloud Storage |
| Server APIs | TanStack Start routes under src/routes/api/ (hosted on Vercel) |
| Background | Firebase Cloud Functions (email, schedules, housekeeping) |
| AI | Google Gemini (@google/genai) on Vercel |
| Video | Daily.co |
| Card payments | Polar |
npm install
# Create .env.local using variable names in docs/DEPLOYMENT.md
npm run devOpen the URL printed in the terminal (typically http://localhost:5173).
src/routes/ # Pages and layouts (file-based routing)
src/routes/api/ # Server-only HTTP handlers (AI, booking, payments, admin)
src/lib/ # Firebase client/server helpers, types, AI utilities
functions/ # Firebase Cloud Functions (triggers + schedules)
firestore.rules # Firestore security rules
storage.rules # Storage security rules
docs/ # Architecture, features, deployment guides
This repository is maintained for academic and demonstration purposes. Do not commit real API keys, service account JSON, or personal health data.