WorkWell is a system designed for employers to predict and maintain their employees' well-being at work depending on whether they are working remotely, on-site, or hybrid. The system will predict Mental Health Risks, Work Satisfaction, and Stress Levels, based on employees' regular self-assessments.
The user can log in to the system as an employee or admin. A logged-in employee can fill in their self-assessment, and see their previous results. A logged-in admin can see an overview of their employees' Mental Health Risks, Work Satisfaction, and Stress Levels. The admin can also see the results per employee.
The system will predict employees' well-being based on their answers in the self-assessment by using the existing data that the model is trained with.
Install Prerequisites:
Install Node.js (Recommended: v20 or later)
Install PostgreSQL and set up a database
Create Environment Files:
Create a .env file in the root of the project with the following content:
DATABASE_URL="postgresql://<your-db-username>:<your-db-password>@<your-db-host>:<your-db-port>/<your-db-name>"
ML_SERVER_URL=http://127.0.0.1:8002/api/v1/predict
MENTAL_HEALTH_ENDPOINT="http://localhost:8000/infer/predict_mental_health"
STRESS_LEVEL_ENDPOINT="http://localhost:8000/infer/predict_stress_level"
WORK_SATISFACTION_ENDPOINT="http://localhost:8000/infer/predict_work_satisfaction"
or whatever port u are running it on.
Create a .env.local file in the root of the project with the following content:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your-clerk-publishable-key
CLERK_SECRET_KEY=your-clerk-secret-key
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
For production:
Create a .env.production file in the root of the project with the following content:
DATABASE_URL="postgresql://<username>:<password>@<host>/<database>?sslmode=require"
MENTAL_HEALTH_ENDPOINT="http://103.177.249.6:8000/infer/predict_mental_health"
STRESS_LEVEL_ENDPOINT="http://103.177.249.6:8000/infer/predict_stress_level"
WORK_SATISFACTION_ENDPOINT="http://103.177.249.6:8000/infer/predict_work_satisfaction"
NLP_SERVER_URL="http://103.177.249.6:8002/api/v1"
ML_SERVER_URL="http://103.177.249.6:8002/api/v1/predict"
Install Dependencies:
Run the following command to install all required packages:
npm install
Prisma setup:
Run the following command to set schema up to date:
npx prisma generate
npx prisma migrate dev
Start app:
npm run dev
This app can be used to help employees monitor their well-being within workplace, as well as for employers to see how their employees are doing. With using AI, the app will give predictions for the employees, so that they can pay attention to their mental health and overall well-bein easily.
- Alexander Helsing: NLP model
- Anna Mäkinen: UI design, frontend development, SCRUM master, managing documentation.
- Faiza Amjad: Setup admin home page, train models for 3 different targets, create api calls to retrain model, Final report & presentation.
- Joey Karlsson: Data analysis on the ML dataset, Connection between frontend and backend for the ML model.
- Johan Sandgren: Frontend development, VPS deployment.
- Tehreem Asif: Requirements elicitation, managing documentation, partial frontend development for admin side and connection to backend.
The contributors of this project are Alexander Helsing, Anna Mäkinen, Faiza Amjad, Joey Karlsson, Johan Sandgren, and Tehreem Asif.
Thanks to makeareadme.com for this template.
AI models use the Remote Work & Mental Health dataset with the Apache 2.0 open source license.
NLP model uses the Sentiment Analysis for Mental Health with license Database: Open Database, Contents: Database Contents.
This project was created for the DIT826 Software Engineering for Data-Intensive AI Applications course in the University of Gothenburg during fall 2024. The project has come to an end in January 2025 and will no longer be updated.