Project Title: Medication Reminder
Creators: John Hattas and Nathan Lang
Good intro with lots of code examples
Easy to follow video tutorials
The foundation of the project is a system of interactive times and reminders targeted at those, who take large amounts of medication at infrequent intervals through the day. The times are designed to interactively remind the user to do whatever the timer is set for, refusing to move along to the next timer until the user responds with an affirmative that the reminder was not only seen but completed. This is an extremely practical project for a huge portion of the population. It is different to most/all timers on the market due to its ability to question the user and make decisions based on the received input and not blindly move along to the next timer.
A teenager living with Cystic Fibrosis, has to take large amounts of medication their entire life. Daily having to do nebulizers, physical treatments, inhalers, pills, and antibiotics, some even need to eat every two hours or risk succumbing to a coma from lack of blood sugar. Keeping track of these many medications, the times they need to be taken at, and remembering if the time you took that was actually today or yesterday is - even for someone in their prime - a massive challenge, one that they struggle with every day. The elderly and those with mental disabilities struggle even more than that, and often their medication is even more important.
Anyone who has taken large amounts of medication for a long period of time is painfully aware of how ineffective normal timers and alarms are in the best of circumstances, they know even better how ineffective they are if you are distracted.
This application should track the time of day that each medication was taken at and log all of this information in a database (or file or a serialized object) that the user could access.
Team size for the projects should be two to three at most. Follow the key dates and deliverable described below. Submit the interim reports to d2l.
Java FX/Java Swing/Java Web Application or any programming language of the team’s choice.
Conduct market research of relevant products such as mobile apps or web applications that do similar things as the project. Survey the competition designs, and include the report of what is available out there and what features you can realistically implement by the end of this semester. Also, use a professional mock up generator to create sample mock-ups of your final project (see Useful Links section below).
Write basic prototype of the application that displays the GUI. Either hard code the inputs such as medication history, reminders, etc or read them from a file and display on the GUI. Take screenshots of your GUI and include them in a report and upload your source code and the report.
Write prototype of the application that displays the GUI with most of the functionality implemented. Highlight the different data structures that you have used. They could be simple ArrayList, Queue, Stack, HashMap, etc from Java Collection Framework. . Take screenshots of your application and include them in a report and upload your source code and the report.
Include the screenshots of your application into a shared presentation at the following link. We will have presentations of your project during those two dates.
https://docs.google.com/presentation/d/1eF_kJV_wcCfhyLKsLHeJOqGoCtslvSe_xpC0eRoOmKU/edit?usp=sharing
Your final report should include the application description, motivation, competing market research, and your prototype description. More details to be announced.
https://moqups.com/ ( mock-up designer tool)
https://balsamiq.com/ (mock-up designer tool – free 30 day trial)
https://docs.oracle.com/javase/8/javase-clienttechnologies.htm (JavaFX Tutorial)
https://docs.oracle.com/javase/tutorial/uiswing/index.html (Java Swing Tutorial --older way of creating GUI)
https://help.github.com/articles/basic-writing-and-formatting-syntax/ (how to edit this README)
-
use
git clone https://gitlab.mscs.mu.edu/rthomas/stocks.git
to download repository -
once you have made changes to files, use
git add <filename>
to add files to be committed, i.e.git add executor.py MovingAverageModel.py
-
use
git commit -m "commit message blah blah"
to commit the files you have added, including an appropriate commit message explaining what you have done -
use
git push
to sync your commits with the remote version of the repository -
use
git pull
to sync your local repository with the current version of the remote -
use
git reset --hard
to discard local changes so you can pull from github without conflicts