Compass is a self-coaching application designed to empower users in taking charge of their mental health. By tracking and visualizing emotional states, Compass reveals patterns in mental and physical well-being, and provides actionable recommendations for improved self-awareness. The mission is to help people better understand and orient themselves on a personal level by quantifying and visualizing their emotions through journaling.
Clone the project
git clone git@github.com:Isi-Te/compass-frontend.git
git clone git@github.com:Isi-Te/compass-backend.git
Go to the project directory
cd frontend-client
cd backend-server
Install dependencies
npm install
Start project (client)
npm start
Start project (server)
npm run dev
Required npm packages
npm install my-project
cd my-project
npm install axios
npm install chart.js
npm install dotenv
npm install react-chartjs-2
npm install react-router-dom
npm install sass
npm install bcrypt
npm install cors
npm install dotenv
npm install jasonwebtoken
npm install knex
npm install uuid
npm install --save-dev nodemon
GET /api/journal-entry
Response body example:
[ { "id": "11", "date": "2023-03-30T23:00:01.000Z", "user_id": 1, "happy": 4, "sad": 8, "frustrated": 8, "stress": 8, "sleep": 3, "nutrition": 5, "fitness": 4, "social": 4, "qualitytime": 3, "highlight": "family time", "lowlight": "time pressure" } ]
POST /api/journal-entry
Post body example:
[ { "happy": 4, "sad": 8, "frustrated": 8, "stress": 8, "sleep": 3, "nutrition": 5, "fitness": 4, "social": 4, "qualitytime": 3, "highlight": "family time", "lowlight": "time pressure" } ]
seed_data
is included in this repo to get you started with Knex.js migrations and seeds. To seed your database run the command line $knex seed:run
.
To run this project, you will need to add the following environment variables to your .env file
PORT
CORS_ORIGIN
REACT_APP_SERVER_URL
JWT_SECRET
Color | Hex |
---|---|
Cyan | |
Turquoise | |
White | |
Dark Grey | |
Ligtht Grey |
- Add more integrations:
- Integrate fitness app API: Automate the upload for fitness, sleep and energy level to simplify the journaling experience.
- Personalized journaling experience: the user can activate and deactivate what they want to track in their journaling experience.
- Image upload: Upload daily highlight in from of a photo and create a memory board.
- Nutrition/macro tracker: Add nutritional facts to better understand the connection between mind and body.
- Pattern recognition and analysis: Utilize AI algorithms to recognize patterns in users' mental and physical well-being and correlate findings to provide comprehensive insights.
Client: React
SASS
JavaScript
Chartjs
Server: Node
Express
Knex