Final Masters Project to design and implement an application to detect stress, depression, loneliness and suicide risk, giving custom advices to users.
This repository contains the API component of Emotional Wellbeing, a Final Masters Project to design and implement an application to detect stress, depression, loneliness and suicide risk, giving custom advices to users. For more information about the project, please check this.
-
Anonymized statistics: this endpoint provides, for each measure (stress, depression, loneliness), an average daily questionaries score of all members who uploaded their data of three temporal ranges: yesterday, current week and last seven days.
-
Data upload: there are endpoints to upload user daily questionaries, one off questionaries and biometric data. One off questionaries and user biometric data are uploaded to enable further research on that topic, current API doesn't provide more actions on them.
-
Database integration: Seamless integration with a MongoDB database to read and write data.
-
Logging and Testing: Includes dedicated testing, wide log usage and a github-actions based pipeline.
As this project is fully-writted on Python, dependencies can be found here and installed via pip. Also, this Flask-based API can be launched from two different points, api-prod and app-test, being for production and testing respectively. IP and port can be changed at the end of these two files.
Nevertheless, this API works alongisde with MongoDB, so an instance needs to be available. Host, port and database/collection name can be configured dynamically on Database object and from callers Endpoints, api-prod and app-test.
Finally, examples can be found here and Client-side application to interact with can be found here.
Any contributions you make are greatly appreciated, so if you have any idea of how to make this project better, please create a pull request. Also if you find any bug, please create an issue.
This project was originally created by @VicDominguez on 2023, with the support of ETSISI-UPM (School of Computer Systems Engineering, Polytechnic University of Madrid) and @maria-marco.