Personal activity tracker. Take memos of what I (or we) have done today.
This is my toy project that I experiment different technologies/tools I want to try.
- infrastructure
heroku + MongoDBheroku + DynamoDBAWS Elastic Beanstalk (deployed withkumo
) + DynamoDB- AWS API Gateway + Lambda + DynamoDB (all deployed with
kumo
) ⬅️ Now here- with other components including: CloudFormation, CloudFront, Route53, X-Ray, Cognito, S3
- backend
JavaScript(deployed on AWS Lambda)- TypeScript (deployed on AWS Lambda) ⬅️ Now here
- frontend
JavaScript + React + fluxJavaScript + React + Redux- TypeScript + React + Redux ⬅️ Now here
Commits to the main
branch automatically goes to the production after the successful test execution.
This includes the changes to the infrastructure.
For CI/CD, What's Done uses GitHub Actions. For more information about CI setup, see its README.
To reduce the build time, What's Done CI leverages Build Mate to trigger commands that are relevant to files changed.
Currently, What's Done CI checks git commit range of the current build to find changed files.
However, this is sometimes not what you want. To force the build to get the file list of
desired commit range, you can include [COMMIT_RANGE:sha1...sha2]
in your commit message.
Note that the actual commit used in the build is still HEAD
. It is just to make the build
to work on different file list.
If you want to deploy prod
environment, you need to have prod
config in modules then execute:
$ AWS_PROFILE=your-profile AWS_REGION=ap-southeast-2 ENV_NAME=prod ./deploy-system.sh