Shared Cost =========== Share costs with a group of people: - Share according to people income, - Monthly payments available, - Statistics by month, - Weekly activity sent by email. Getting started --------------- Install nix: ``` curl https://nixos.org/nix/install | sh ``` Start the environment with: ```bash ./make start ``` Init the database with migration scripts: ```bash sqlite3 database < server/migrations/1.sql ``` Inside the tmux session, add some users with sqlite after the migration is done: ``` sqlite3 database insert into user(creation, email, name) values (datetime('now'), 'john@mail.com', 'John'); insert into user(creation, email, name) values (datetime('now'), 'lisa@mail.com', 'Lisa'); ``` Later, stop the environment with: ```bash ./make stop ``` Dist ---- ``` make dist ``` Configuration ------------- See [application.conf](application.conf). TODO ---- ### Interface - Add payment error handling. - Delete payment waitFor. - Edit a payment. - Clone a payment. #### Bonus - Adjust login design. - smooth search. - search payments by: - category, - date. ### Code - Move up element ids security (editOwn is actually at db level). - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) ### Tooling - migration diff (use flyway?).