A Wellness app for people of age 40+
git clone https://github.com/janong24/Compass.git
-
Please make sure you have Docker installed first.
-
Docker Desktop is recommended to help with managing the container, images, and volumes.
-
Make sure that the ports 3000, 8000 and 5432 are not occupied and the PostgreSQL server is not currently running on your local machine.
- one .env in the root folder
- one .env in the client folder
- a serviceAccountKey.json in the server folder
Those credential files contain the environment variables needed to run the project. If you encounter warning messages saying some variables are not set defaulting to a blank string, you are probably missing some environment variables in one of the three credential files. In this case, please contact the team leader to get the credentials.
The docker compose file contains the commands to build and run the project. Please cd to the root folder (the Compass folder) and run:
docker-compose -f docker-compose-dev.yml up
First cd to the pythonServer folder:
cd pythonServer
Please make sure all the dependencies are installed on your local environment by running:
pip install -r requirements.txt
In addition to the requirements.txt, the library ffmpeg also needs to be set up on your local machine. The set up procedure depends on your OS and your local environment. Please check their website: https://www.ffmpeg.org/download.html
After all the dependencies are successfully installed, move to the app folder and run the server:
cd app
python3 main.py
If you are running the project in your local environment, the express server will be hosted on port 8000, the python server will be hosted on port 8080, the client will be hosted on port 3000 and the database will be hosted on post 5432
Once you see 'Database synchronized' and 'Uvicorn running on http://127.0.0.1:8080' are printed in the terminal, the preparation is done. If you want to check the database, you can either use the terminal or the Postgresql GUI like Pgadmin4 to see if all the tables/data exist in your database. Since the whole project is containerized, the database in the container is the not one you have locally. It can only be connected if the docker container is running. Please make sure to connect to the DB inside of the container instead of other local databases.
Open http://localhost:3000 with your browser to see the result.
If you add new packages or find that there's package update from the release which can cause a 'module not found' error
Please rebuild the docker images. To do that you may need to delete the container and all the related volumes.
Compass is a medical wellness app that targets specifically people above 40 years old who might be interested in having some type of assistance to keep their healthy habits and lifestyles. Compass offers features of managing medical reminders, booking appointments, finding pill names, tracking user’s medications and treatments all in one consolidated application. In addition, having features of medical journals such as diabetic journals allows some patients to easily note their daily doses and treatment details making them able to follow the history of their treatments and use it as a reference for themselves or to show to their medical professional. Users can also send pictures of their unrecognized pills to get the five most possible pill names. Additionally, with the speed dial fast option to contact relatives during some emergency situations patients would be able to contact their relatives in a faster and easier way. With many features compass aims for users to be healthier and function hassle free.
At Compass, we believe in embracing the diverse needs and experiences of every individual using our platform. We recognize that health and wellness are deeply personal journeys, influenced by a variety of factors including age, background, and individual health conditions. Our commitment to diversity is reflected in our user-centric design, ensuring that adults aged 40 and above from all walks of life feel empowered to manage their health with ease.
Whether you're tracking vital health metrics, managing medications, or seeking support for mental well-being, our app is here to support you every step of the way. We strive to provide an inclusive space where everyone feels valued and respected, regardless of their unique circumstances or challenges they may face.
From AI-driven features to identify symptoms and unknown pills, to providing real-time information on emergency room occupancy rates and nearby health facilities, we are dedicated to promoting accessibility and inclusivity in healthcare technology.
At Compass, diversity isn't just a statement—it's a fundamental part of our mission to improve health outcomes for all. Together, let's embrace our differences and work towards a healthier, more inclusive future.
The following link directs to a read-only version of the application's UI mockups: Mockups on Figma
Name | Student ID | GitHub |
---|---|---|
Christina Darstbanian | 40097340 | Chr728 |
Imran Ahmed | 40172931 | imran1289-ah |
Jiayi Chen | 40110997 | JIAYI615 |
Divleen Kaur Ahluwalia | 40116121 | Divleen12 |
Jan Mikhail Alexei Ong | 40154849 | janong24 |
Julien Phan | 40133814 | MrMelon1232 |
Adir Ben-David | 40190551 | beezzyy |
Jonathan Abitbol | 40190550 | yoniabitbol |
Reuven Ostrofsky | 40188881 | Reuven1203 |
Front End
- NextJS
- Tailwind CSS
Back End
- NodeJS
- Express
- Firebase Authentication
- PostgreSQL
- FastAPI
DevOps and Testing
- Docker
- Jest
- Supertest
- PyTest
Machine Learning
- Jupyter Notebook
- HuggingFace
- Tensorflow
- Scikit learn
- torch
- datasets
- Transformer
- Registration, Authentication and Security
- View and Add Appointments
- View and Add Medications
- Personal Diabetes, Food intake, Activity, Weight, Oxygen, Blood pressure and Mood Journals
- Push Notifications for Reminders
- AI pill name prediction based on pill pictures
- Speed dial to family, caregivers and emergency
- Record the snoring audio, AI snoring pattern detection, and visualize the detected snoring patterns
- AI diagnosis prediction based on symptoms
- Check the capacity of Hospital Emergency Rooms in Quebec
- Get health tips and news
The application is under the GNU Affero General Public v3.0 License. See LICENSE for more details