This is a monorepo for the front and backend Noted app.
App: Master
API: Master
Docker-compose is used to run the project locally.
Development: docker-compose up
Force stop development: docker-compose down
Stop machines: docker stop $(docker ps -q)
Remove images: docker rmi $(docker ps -q)
AWS Lambda and APIGateway are used with serverless to host the API in production.
Continuous integration provided by CircleCI. As this is a monorepo, the config contains a diff step to determine which repo has been updated. Once it knows which repo is updated, it manually calls the CircleCI API to perform the build correct the build and deploy.
GQL is used to provide TypeScript types for both the front and back end. Each repo has a codegen.yml
to describe what and how the types are produced.
Built with React and Hooks. Styled with Styled Components. Data layer provider by Apollo.
Apollo Server Express used in development and Apollo Server Lambda used in production. GraphQL API wrapping Github's Octokit library.
To deploy the back end manually:
npm run sls:deploy
It can also be run offline:
npm run sls:offline
Configure api CI on CircleCI. Need to set user permissions to access cloudformation.