TeleDoc


App screenshot


Teledoc App is a mobile web based app built using Next Js, Typescript, and Tailwind CSS.

Table of Contents

About

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.

UI UX Design

View Design UI/UX with : Figma

Technologies Used

  • 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

Features

  • Can log in using a Google account
  • has a search feature to find a doctor
  • Responsive design for seamless use on any device

Installation

To run Media Maven on your local machine, follow these steps:

  1. Clone the project repository:

    git clone https://github.com/Teledoc-App/teledoc-app
  2. Navigate to the project directory:

    cd teledoc-app
  3. Install project dependencies using NPM:

    npm install
  4. 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.

Live Demo

Vercel

Endpoints

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 🔑 ⚿

Validation

  • 🔑= User
  • ⚿ = Admin/Doctor

Author

👤 Nofrialdi

👤 Mesel ghea

👤 Niko Setiawan P

👤 Gary Cruise

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Show your support

Give a ⭐️ if you like this project!