Healthee is a Next.js + Appwrite starter for a medical appointment and patient management frontend. It's a modern TypeScript project with Tailwind CSS and Appwrite integration for auth, storage and database operations.
Tech stack:
- Framework:
Next.js (App Router) - Language:
TypeScript - Styling:
Tailwind CSS - Backend-as-a-Service:
Appwrite(used for database, storage, auth)
- Patient registration and appointment creation UI
- File upload support for patient documents
- Admin and patient routes
- Modular UI components (forms, tables, dialogs)
Prerequisites: Node.js v18+ and a package manager (npm, pnpm, or yarn).
- Install dependencies
npm install- Create an environment file
Create a .env.local in the project root and add the required environment variables (example below). Never commit secrets to git.
- Run the development server
npm run dev
# Open http://localhost:3000- Build for production
npm run build
npm run startBelow are the environment variable names expected by this project. Provide values locally through .env.local or your deployment provider's secrets manager. Do not paste secrets into public repos.
PROJECT_ID=
API_KEY=
DATABASE_ID=
PATIENT_COLLECTION_ID=
DOCTOR_COLLECTION_ID=
APPOINTMENT_COLLECTION_ID=
NEXT_PUBLIC_BUCKET_ID=
NEXT_PUBLIC_ENDPOINT=
NEXT_PUBLIC_ADMIN_PASSKEY=
SENTRY_AUTH_TOKEN=
TWILIO_RECOVERY_CODE=
Notes:
NEXT_PUBLIC_ENDPOINTshould point to your Appwrite endpoint (e.g.https://cloud.appwrite.io/v1).API_KEYand other IDs are sensitive. Use your hosting provider's secret storage for production.
Top-level overview of important folders and files:
app/- Next.js App Router pages and routescomponents/- Reusable UI components and formscomponents/forms/- Form components (Appointment, Patient, Register)components/table/- Data table and column definitionslib/- Appwrite config, utilities, and action helpersconstants/- Application constantspublic/- Static assetstypes/- TypeScript types
Key files:
app/page.tsx- Public landing pageapp/admin/page.tsx- Admin UIcomponents/theme-provider.tsx- Theme + provider setuplib/appwrite.config.ts- Appwrite client configuration
- This frontend expects an Appwrite project and collections configured for patients, doctors and appointments.
- Configure the corresponding collection IDs and project/endpoint values in
.env.local.
- Vercel works well with Next.js App Router. Add the environment variables in the Vercel dashboard.
- Ensure
NEXT_PUBLIC_ENDPOINTand other Appwrite IDs are set as environment variables in production.
- Fork the repo, create a feature branch, and open a pull request.
- Keep secrets out of PRs and use mock/test accounts for demos.