Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carloshdelreal/doctors
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.
https://github.com/carloshdelreal/doctors
rails react rspec rspec-rails
Last synced: 3 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/carloshdelreal/doctors
- Owner: carloshdelreal
- Created: 2020-01-06T02:25:49.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T16:41:05.000Z (almost 2 years ago)
- Last Synced: 2024-05-29T03:28:05.116Z (5 months ago)
- Topics: rails, react, rspec, rspec-rails
- Language: Ruby
- Homepage:
- Size: 1.44 MB
- Stars: 14
- Watchers: 2
- Forks: 6
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- Open-Source-Ruby-and-Rails-Apps - doctors - Doctor's Appointment application that is intended to showcase full-stack web development skills, particularly in Ruby on Rails and React. π₯ β (Happy Exploring π€)
README
# 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](https://microverse.org). This project ask us to make a industry level application to show some of the skills learnt during the course. [here](https://www.notion.so/Final-Capstone-Project-Doctor-appointments-9b345aad940b4f0a951049fcb3da159f) 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:
* Carlos Del Real [Github Account https://github.com/carloshdelreal](https://github.com/carloshdelreal)
# The Web App
The live version of this project is on [Doctor's Appointments](https://doctorscapstone.herokuapp.com/)
# 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
* ReactFor installation instructions follow [The Instalation Guide](https://www.tutorialspoint.com/ruby-on-rails/rails-installation)
# 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
```Shell
your@pc:~$ git clone https://github.com/carloshdelreal/doctors.git
```Move to the downloaded folder
```Shell
your@pc:~$ cd capstone
```install gems
```Shell
your@pc:~$ bundle install --without production
```migrate the database
```Shell
your@pc:~$ rails db:create
your@pc:~$ rails db:migrate
```
Finally, run the test suite to verify that everything is working correctly:```Shell
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
```Shell
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
```Shell
your@pc:~$ export FACEBOOK_ID=heregoesyourfacebookappid
your@pc:~$ export FACEBOOK_KEY=heregoesyourfacebookappkey```
lastly run the server```Shell
your@pc:~$ rails server```
Then, go to [http://localhost:3000/](http://localhost:3000/)
Voila!
## Doctors App Features
To view the live demo, click the [Doctor's App link](https://doctorscapstone.herokuapp.com/). 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 `[email protected]` 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
* [How to Run react components on rails](https://www.youtube.com/watch?v=5F_JUvPq410)
* [Building Awesome react apps](http://collectiveidea.com/blog/archives/2013/06/13/building-awesome-rails-apis-part-1)# 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.