A modern and responsive platform for booking medical appointments, built with Next.js, TypeScript, and Tailwind CSS. The platform leverages Clerk for user management and authentication, providing a secure and seamless experience for patients and doctors.
- User Authentication: Secure user registration and login powered by Clerk.
- Appointment Booking: Easy-to-use interface for patients to book appointments with the doctor.
- Real-Time Availability: View the doctor's up-to-date availability and schedule appointments accordingly.
- Appointment Management: Patients can view, modify, and cancel their appointments.
- Doctor Dashboard: A comprehensive view for the doctor to manage appointments and patient information.
- Responsive Design: Fully responsive layout, optimized for both desktop and mobile devices.
- TypeScript: Strongly typed components and logic for enhanced code quality and maintainability.
- Tailwind CSS: Customizable and utility-first styling for fast and efficient design.
- Next.js: Server-side rendering (SSR) and static site generation (SSG) for optimal performance and SEO.
Check out the live preview of the application by following this link: https://doctrin.vercel.app
To access the doctor dashboard, use the following credentials:
- Email:
meshachgbewezoun@gmail.com - Password:
password-doctrin
-
Clone the repository:
git clone https://github.com/Meschack/figma-to-code-ed2-week4.git medical-appointment-platform cd medical-appointment-platform -
Install dependencies:
pnpm install
-
Set up environment variables:
Create a
.env.localfile in the root of the project and add your configuration. For example:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="YOUR_CLERK_PUBLISHABLE_KEY" CLERK_SECRET_KEY="YOUR_CLERK_SECRET_KEY" DATABASE_URL="YOUR_DATABASE_URL" DOCTOR_CLERK_ID="YOUR_DOCTOR_CLERK_USER_ID" MAIL_FROM_ADDRESS=your-email@example.com MAIL_FROM_NAME="Doctrin" MAIL_HOST=smtp.example.com MAIL_MAILER=smtp MAIL_PASSWORD="YOUR_MAIL_PASSWORD" MAIL_PORT=587 MAIL_FROM_USERNAME=your-username
-
Start the development server:
pnpm run dev
The application should now be running on http://localhost:3000.
To create a production build:
pnpm run buildThe project is ready to be deployed on platforms like Vercel, Netlify, or any server that supports Node.js.
Contributions are welcome! Please feel free to submit a pull request or open an issue.
