Skip to content

A serverless and offline-first PWA that lets you track your mood

License

Notifications You must be signed in to change notification settings

benji6/moodtracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoodTracker

CI Netlify Status

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!

Check it out here

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 CYPRESS_MOODTRACKER_TEST_USER_EMAIL and CYPRESS_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.