/dictori

This is a Doctor's Appointment application that is intended to showcase full-stack web development skills, particularly in Ruby on Rails and React. Doctor's Appointments employs an API tied to a frontend written in React, and is made using the methodology and specifications of the Capstone Project provided by Microverse.

Primary LanguageRuby

Doctor's Appointments

This is a Doctor's Appointment application that is intended to show some of the skills of a full-stack web developer that uses Ruby on Rails and React.

Doctor's appointments is a an API tied to a frontend written in react, made using the methodology and indications of the Capstone Project provided by Microverse. This project ask us to make a industry level application to show some of the skills learnt during the course. here to see the project requirements.

Tools used

In this project we used:

  • Ruby
  • Ruby on Rails Framework
  • HTML
  • CSS
  • React
  • Redux

Author

This project was created by:

The Web App

The live version of this project is on Doctor's Appointments

Required Installations

If you want a copy of this project running on your machine you have to install:

  • Ruby 2.6.5
  • gem 3.0.3
  • Bundler 2.1.4
  • Rails 6.0.2.1
  • Node v13.5.0
  • React

For installation instructions follow The Instalation Guide

Instalation of This App

Once you have installed the requiered packages shown on the Required Installations, proceed with the following steps

Clone the Repository, the folder toy_app will be downloaded

your@pc:~$ git clone https://github.com/carloshdelreal/doctors.git

Move to the downloaded folder

your@pc:~$ cd capstone

install gems

your@pc:~$ bundle install --without production

migrate the database

your@pc:~$ rails db:create
your@pc:~$ rails db:migrate

Finally, run the test suite to verify that everything is working correctly:

your@pc:~$ rspec

If the test suite passes, you'll be ready to run the app in a local server:

If you desire to create dummy data to see the apps functionallity run

your@pc:~$ rails db:seed

To enable the facebook login system you have to provide two environment variables with the keys to do that you have to

your@pc:~$ export FACEBOOK_ID=heregoesyourfacebookappid
your@pc:~$ export FACEBOOK_KEY=heregoesyourfacebookappkey

lastly run the server

your@pc:~$ rails server

Then, go to http://localhost:3000/

Voila!

Doctors App Features

To view the live demo, click the Doctor's App link. You will be taken to the login page. There, you will be able to register as a new user. You may also log in using carlos@email.com as your email and foobar as the password.

Once you log in, you will be taken to the homepage. As this is a partial implementation, only the nav bar and the Doctor’s button are currently available.

Click on Doctor and behold the doctor search bar! There, you can select a specialty and the corresponding doctors will be filtered and displayed for you. Select the doctor that you prefer.

Once you select your desired doctor, you will then be able to see information and feedback about the doctor and clinic. If you are happy with your selection, you can click on Book Appointment.

The most important and elaborate part of this application is the booking system, in which every doctor has a totally independent set of available appointments. You can choose the date and time for the appointment and click Book. You will then be taken to a confirmation window and voila: your appointment is arranged.

The nicest feature about this implementation is that the selected appointment will no longer be available to other users.

Once your appointment has been set, you can then go to the main men and check your booked appointments.

License

This code is licensed under the Creative Commons Attribution CC BY therefore if you use this code partially or totally don't forget to reference.

This license lets others distribute, remix, adapt, and build upon your work, even commercially, as long as they credit you for the original creation. This is the most accommodating of licenses offered. Recommended for maximum dissemination and use of licensed materials.

External Resources

Future Features

In the original design of this application are other modules that could be developed as the one for requiring an ambulance, or buying medication, I definitely want to implement those features.

I would like to implement a feature in which doctors can register and open their appointments, keep track of their patients and register a clinic history, as there is feedback commenting for the users to grade the doctor's service I think is important that doctors grade and register the behavior of the patients as well as theirs discipline if they recomend a diet or taking timely the medication.