Teledoc App is a mobile web based app built using Next Js, Typescript, and Tailwind CSS.
Teledoc has a user-friendly interface that allows users to make appointments with doctors and there is also a doctor search feature which aims to make it easier for us to find a doctor.
Overall, the app provides a seamless and intuitive experience for users to book appointments and search for doctor data. Its fast performance, responsive design, reusable components, and efficient search and browsing features make it a showcase for the power and flexibility of the Next.js framework.
View Design UI/UX with : Figma
- Frontend Framework : Next Js App Router
- Backend : Next Js
- Database : PostgreSQL, Prisma ORM
- Styling : Tailwind CSS,
- App Deployment : Vercel
- Database Deployment : Railway
- Date Picker : react-date-picker
- Can log in using a Google account
- has a search feature to find a doctor
- Responsive design for seamless use on any device
To run Media Maven on your local machine, follow these steps:
-
Clone the project repository:
git clone https://github.com/Teledoc-App/teledoc-app
-
Navigate to the project directory:
cd teledoc-app
-
Install project dependencies using NPM:
npm install
-
Start the development server:
npm run dev
This will launch the application in watch mode, allowing you to view it in your web browser at
http://localhost:3000
.
- Deployed to Vercel: Live Demo
Authentication
Method | Endpoint | Description | Auth |
---|---|---|---|
'POST' | '/api/auth/signup' | Register a new user | |
'POST' | '/api/auth/signin' | Login user | |
'POST' | '/api/auth/logout' | Logout a user | 🔑⚿ |
Users
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/users' | Get all users | |
'GET' | '/api/users/{id}' | Get user by id | |
'GET' | '/api/users/me' | Get my account | 🔑 ⚿ |
'PATCH' | '/api/users/me' | Update my account | 🔑 ⚿ |
Doctor
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/doctor | Get all doctors | |
'GET' | '/api/doctor/{id}' | Get doctors by id | |
'PATCH' | '/api/doctor/{id}' | Update doctors profile | ⚿ |
Specialist
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/specialist | Get all Specialist | |
'GET' | '/api/specialist/{id}' | Get Specialist by id | |
'POST' | '/api/specialist | Post a new specialist | ⚿ |
'PATCH' | '/api/specialist/{id}' | Update Specialist | ⚿ |
'DELETE' | '/api/specialist/{id}' | Delete Specialist | ⚿ |
Appointments
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/Appointments | Get all Appointments | |
'GET' | '/api/Appointments/{id}' | Get Appointments by id | |
'POST' | '/api/Appointments | Post a new Appointments | 🔑⚿ |
'PATCH' | '/api/Appointments/{id}' | Update Appointments | 🔑⚿ |
'DELETE' | '/api/Appointments/{id}' | Delete Appointments | 🔑⚿ |
TimeSlot
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/TimeSlot | Get all TimeSlot | |
'GET' | '/api/TimeSlot/{id}' | Get all TimeSlot by id | 🔑 ⚿ |
'POST' | '/api/TimeSlot' | Post a new TimeSlot | 🔑 ⚿ |
'PATCH' | '/api/TimeSlot/{id}' | Update a TimeSlot | ⚿ ⚿ |
'DELETE' | '/api/TimeSlot/{id}' | Delete a TimeSlot | ⚿ ⚿ |
Status
Method | Endpoint | Description | Auth |
---|---|---|---|
'GET' | '/api/status | Get all Status | |
'GET' | '/api/status/{id}' | Get all Status by id | 🔑⚿ |
'POST' | '/api/status' | Post a new Status | 🔑 ⚿ |
'PATCH' | '/api/status/{id}' | Update a Status | 🔑 ⚿ |
'DELETE' | '/api/status/{id}' | Delete a Status | 🔑 ⚿ |
- 🔑= User
- ⚿ = Admin/Doctor
👤 Nofrialdi
👤 Mesel ghea
- Github: Mesel ghea
- Linkedin: Mesel ghea
👤 Niko Setiawan P
- Github: Niko Setiawan P
- Linkedin: Niko Setiawan P
👤 Gary Cruise
- Github: Gary Cruise
- Linkedin: Gary Cruise
Contributions, issues, and feature requests are welcome!
Give a ⭐️ if you like this project!