Clarity is a desktop personal journal application that allows users to maintain entries, analyze them for mood patterns, and share results with specialists. The application supports the diagnostic process for mood disorders such as depression, mania, and others.
This project was developed as part of my bachelor's thesis titled "A mood disorder diagnosis support system based on text analysis" at Maria Curie-Skłodowska University.
Thesis available at: Placeholder
- Python 3.10
- Google account (for email configuration)
- Supabase account (for database hosting)
- Git (for downloading the project)
-
Download the Project
- Clone the repository from GitHub:
git clone [repository-url]
- Clone the repository from GitHub:
-
Download and Extract Model Files
- Download the model archive from:
https://mega.nz/file/ZxkRGTrR#6WB7t7i8FqyN1aKjA6hb7sX2-0_Qzdtr-oB1gAclUXg - Extract the contents of the archive into the
staticdirectory of the project
- Download the model archive from:
-
Create a Supabase Database
- Create a new database in Supabase
- Using the console, the
db_backup.sqlfile (located in theotherFilesdirectory), and the command:create all necessary tables and populate them with sample data.psql -d "Your session pooler connection string" -f .\db_backup.sql
- The session pooler connection string can be found under the "Connect" button in your Supabase project. Remember to replace
[YOUR-PASSWORD]with your database password in the URL.
-
Generate Gmail App Password
- Enable two-factor authentication on your Google account
- Go to your Google account management page
- Search for "App passwords"
- Generate a password for our application
-
Environment Setup
- In the project directory, create a Python 3.10 virtual environment:
python3.10 -m venv .venv
- Activate the virtual environment:
.venv\Scripts\activate
- Install required packages:
pip install -r requirements.txt
- In the project directory, create a Python 3.10 virtual environment:
-
Configure .env File
- Paste the generated password in the
.envfile under theEMAIL_APP_PASSWORDvariable - Paste the email address used to generate the password under the
EMAIL_APP_PASSWORDvariable (remove all spaces from the password) - In the
.envfile, paste your Supabase Project URL under theSUPABASE_URLvariable - Paste your API Key (received when creating the Supabase database) under the
SUPABASE_KEYvariable
- Paste the generated password in the
After completing all the above steps, run the application with:
python main.py