Rails app generated with lewagon/rails-templates, created by the Le Wagon coding bootcamp team.
The aim of this app is to help anyone to take care of your loved ones and it's the result of my Le Wagon's final project. It was developed by me (Rui Magalhães) and my friend Emanuel Moniz (/~https://github.com/emanuelmoniz/).
You can find it live on: http://www.caretaker.pt/
You can watch the presentation of this app on the following link: https://youtu.be/8wWgDhPc4j0?t=504
- After cloning the project, do the following on your terminal:
$ brew update
$ bundle install
$ yarn instal
$ rails db: create
$ rails db: migrate
$ rails db:seed
- On your .env file put your claudinary key, your app email adress, your email app password and your host website:
#.ENV file
$ CLOUDINARY_URL= ************************************
$ EMAIL_ADDRESS=something@something.something
$ EMAIL_APP_PASSWORD=**********
$ HOST=www.something.something
- You need to install sidekiq too, to be able to do asynchronous jobs. To do that, do the following on your terminal:
$ brew update
$ brew install redis
$ brew services start redis
$ redis-cli FLUSHALL
$ bundle binstub sidekiq
$ bundle binstub sidekiq -- force
- Now, you are ready to see this project from your own machine. Do the following, on your terminal:
$ sidekiq
- Still on the terminal, but on another tab:
$ rails s
- After this, you can open the app in your local server: http://localhost:3000/
If you want to see the app working without any job, you can visit: www.caretaker.pt (feel free to sign up and see our features!)
- Text Editor
- Package manager (homebrew on OSX, Aptitude on Ubunto)
- Git
- Ruby
- Rails
This app have the following features:
- Link between users (Patient/Caretaker)
- Add/edit/see an event on my shedule
- Add/edit/see an event on my Patient schedule
- Add a recurring event (i.e. To add an event about a pill for 30 days, you only need to add one event, with recurring option)
- Receive diferent types of notifications (types: Before/ Do/ Done/ Missed) about your events or the ones of your patients
- Change to a simpler view
I'm logged in with Rui's Account and I have Manuel as my Patient.
- Here is my dashboard (I have a section for all events and all notifications too - mines and the ones of my patients):
- As you can see, I have Manuel as my patient (Relations page):
- I can see my calendar (no events):
- And, I can see Manuel calendar:
- Here are my last notifications (One saying that Manuel missed one event and other event saying that manuel did one event):
- I can change the view to a simpler one. With this view I'm not able to add or edit events. I'm only able to see my events the notifications of those events!
NOTE: Those examples are on a mobile view. However, the web-service is totally responsive and it work on IPAD's and computers too.
In this chapter, we will present you some technicalities about this project.
- The DB schema of the project is the following:
As you can see, we have 7 tables (one model for each table):
- users
- events
- event_types
- notifications
- relations
- user_diseases
- diseases
If you look at the Relations, you can see that for each user you can call user.patients
or user.caretakers
and the output will be all the patients or caretakers of that user!
On top of that, one user can have more than one event. On the other hand, each event can triger more than one type of notification.
For each event, a Job goes to the sidekiq queue to triger a notification to the user and/or to his caretakers.
To triger a notification we compare Time.now
with event.start_time
.
App developed by:
- Emanuel Moniz (/~https://github.com/emanuelmoniz/)
- Rui Magalhães (/~https://github.com/RuiSMagalhaes)