Bookkeeping app for determining monthly cost between multiple parties.
This turborepo uses npm as a package manager. It includes the following packages/apps:
Each package/app is 100% TypeScript.
Install nodejs, make and docker desktop.
Optional instructions to install make 3.82
- Install through brew
- Install make,
brew install make
Make sure to use the correct node and npm versions as specified in the top-level package.json. You can also use nvm use
if using NVM for node management.
Install dependencies and setup docker postgres container:
make setup
Run make start
to start the docker containers for postgres and adminer.
Run make stop
to stop the docker containers.
Run make help
for all available command options.
To develop all apps and packages, run the following command:
npm run dev
To develop specific apps, run the following command:
npm run -w bookkeeper-ui dev
To build all apps and packages, run the following command:
npm run build
Structure of commit messages
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Example commit message:
git commit -m "feat(component): add ix-btn component"
git commit -m "fix(util): fix xhr logic issue with network.save"
git commit -m "style: add commit convention type/scope rules"
Example breaking change commit message:
git commit -m "feat(component): change api for ix-btn component
BREAKING CHANGE: `extends` key in config file is now used for extending other config files"
The commit contains the following structural elements, to communicate intent to the consumers of your library:
- fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning).
- feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).
- BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning).
Commit messages must be one of the following:
build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
chore: miscellaneous(setting up eslint, stylelint, etc)
ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
docs: Documentation only changes
feat: A new feature
fix: A bug fix
perf: A code change that improves performance
refactor: A code change that neither fixes a bug nor adds a feature
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
test: Adding missing tests or correcting existing tests
Learn more about the power of Turborepo: