moodtracker
moodtracker copied to clipboard
A serverless and offline-first PWA that lets you track your mood
MoodTracker
About
MoodTracker is a free and open source web app that aims to help you understand yourself better. Track your emotional landscape, keep a mood journal, time your meditations, keep a meditation log and gain new insights into yourself. It's simple to use, works offline and because it runs in your browser you can use it across all your devices!
The MoodTracker UI was built using a component library I made called Eri.
Getting started
Dependencies required on host machine
Install project dependencies
make init
Run frontend locally
make start
Test application locally
You will need to be running the client locally on the default port for the end-to-end tests to pass and you will need credentials for a registered user on the platform that you can use to set the MOODTRACKER_TEST_USER_EMAIL
and MOODTRACKER_TEST_USER_PASSWORD
environment variables.
make test
Deploy
Backend and infrastructure
Majority of the infrastructure is managed with AWS CloudFormation (via Troposphere). Firebase, secrets and a few AWS things that aren't well supported have been done manually.
make deploy
N.B. making changes to the API doesn't trigger a new deployment, but you can trigger a manual deployment by copying the value of the ApiGatewayDeployCommand
output and running that.
UI
Continuously deployed with Netlify.
N.B. Icons are stored in version control and are generated by running npm run icons
in the /client
dir.