MediSync is a full-stack health management app . It helps users manage personal health records, reminders, appointments, emergency profile sharing, document storage, and AI-assisted health chat in one dashboard.
Email : test@example.com
Password : 12345678
- Email/password authentication with Better Auth
- Email verification, forgot password, and reset password flows
- Protected dashboard and onboarding flow
- Profile management with personal details
- Phone number OTP verification and phone update flow
- Guided first-time setup flow
- Basic profile capture
- Medical information capture
- Emergency contact setup
- Health overview home with quick stats
- Medical profile snapshot (blood group, allergies, chronic conditions)
- Quick links to documents, reminders, appointments, and QR
- Track and manage health metrics
- Create/list/delete metric entries
- Create, update, list, and delete medical records
- Create medication/reminder schedules
- Enable/disable reminders
- Delete reminders
- Notification delivery via email/SMS (configurable)
- Create, update, list, and delete appointments
- Appointment notification support via cron endpoints
- Folder management (create/update/delete)
- Document upload flow with presigned URLs
- List and organize user documents
- Secure document viewing via presigned URLs
- Storage usage summary
- User-specific emergency QR code generation/regeneration
- Public emergency profile route via token
- Conversation-based AI chat
- Auto-create conversation on first message
- Redirect to generated conversation route
- Message persistence with metadata (parts, tokens, model)
- Message TTS generation endpoint
- Assistant response retitling endpoint
- Like/dislike feedback persisted per assistant message
- User notification settings (email/SMS)
- Cron routes for reminder and appointment notification processing
- Notification logging and type handling on server
- Multi-language support via Paraglide i18n
- Theme switching
- Language switcher
- Responsive dashboard UI with shadcn/ui + Tailwind CSS
- Landing/home
- About
- Health camps
- Geo assistance
- Help
- Privacy policy
- Terms
- TanStack Start + TanStack Router
- React 19 + TypeScript
- TanStack Query
- Drizzle ORM + PostgreSQL
- Better Auth
- Tailwind CSS + shadcn/ui
- Paraglide i18n
- Resend (email), RelayX (SMS), Groq (AI), AWS S3-compatible storage
Copy .env.example to .env and set required values.
Core keys used by the app include:
DATABASE_URLBETTER_AUTH_SECRETBETTER_AUTH_URLRESEND_API_KEYEMAIL_FROMMEDISYNC_PRIVATE_KEYGROQ_API_KEY
pnpm install
pnpm devApp runs on http://localhost:3000 by default.
pnpm db:generate
pnpm db:migrate
# or
pnpm db:pushOpen Drizzle Studio:
pnpm db:studiopnpm build
pnpm previewpnpm lint
pnpm format
pnpm check
pnpm testsrc/routes- File-based app and API routessrc/server- Server functions (auth, chat, reminders, appointments, etc.)src/components- UI and feature componentssrc/db- Drizzle schema/configscripts- Utility and setup scripts (including cron setup)