Skip to content

A web app connecting patients and dietitians. Patients can create accounts, book appointments, and receive nutrition guidance. Dietitians manage schedules, conduct video consultations, and access patient records.

Notifications You must be signed in to change notification settings

aaroncferrer/nutri-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 

Repository files navigation

The Nutri Tech

The Nutri Tech is a web application that provides nutrition and dietetic services. It allows patients to create accounts, book appointments, and receive personalized nutrition guidance from dietitians. Dietitians can manage their schedules, conduct video consultations, and access patient records. The app utilizes Google OAuth2.0 for authentication, the Calendly API for scheduling, and integrates with Google Meet for video consultations. This README provides information on the application, including its features and how to set up the backend and frontend.

Technologies Used


Features

Patient

  • Account Creation: Patients can create accounts manually or via Google OAuth2.0.
  • Email Notification: Patients receive an email to confirm their account creation.
  • Account Login: Patients can log in to access the application.
  • Appointment Booking: Patients can book appointments with dietitians based on available timeslots.
  • Confirmation Email: Patients receive a confirmation email with appointment details and a Google Calendar invite upon successful booking.
  • Upcoming Appointments: Patients can view their upcoming appointments, including date, time, and the dietitian's name.
  • Previous Appointments: Patients can access a list of their previous appointments and view corresponding records.

Dietitian

  • Professional Account Creation: Dietitians can create professional accounts to offer nutrition/dietetic services.
  • Account Login: Dietitians log in to access their appointment schedule and patient records.
  • Schedule Management: Dietitians can manage their schedules using Calendly, ensuring effective time management.
  • Email Notifications: Dietitians receive email notifications when a patient books an appointment.
  • Video Consultations: Dietitians can conduct video consultations with patients using Google Meet.
  • Appointment Records: Dietitians can view all assigned appointments and access records for each to provide personalized support.

Additional Information

  • Authentication: The application uses Google OAuth2.0 for user authentication. To implement this, you can refer to this article.

  • Scheduling: The app integrates with the Calendly API for scheduling and manages appointments.

  • Server Uptime: The application maintains server uptime using cron-jobs.org.

  • Deployment: The backend is deployed on Render, and the frontend is deployed on Vercel.

Testing

  • Tools used for testing include Rspec, FactoryBot, and Faker.

Getting Started

Backend Setup

  1. Clone the backend repository.
  2. Navigate to the project directory: cd nutrition-backend
  3. Install the required dependencies: bundle install
  4. Create and set up the database:
rails db:create
rails db:migrate
  1. Set up your environment variables for Google OAuth2.0 and Calendly: (please refer to your actual env var)
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
CALENDLY_API_KEY=your-api-key
  1. Start the Rails server: rails server

Frontend Setup

  1. Clone the frontend repository.
  2. Navigate to the project directory: cd nutrition-frontend
  3. Install the required dependencies: npm install
  4. Create a .env file for environment variables.
  5. Start the development server: npm run dev

About

A web app connecting patients and dietitians. Patients can create accounts, book appointments, and receive nutrition guidance. Dietitians manage schedules, conduct video consultations, and access patient records.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published