From 898e7ed11ab0958fcdaf65b99b33f7b04787630a Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 24 Sep 2017 22:14:48 +0200 Subject: Bootstrap with GHCJS and reflex: - setup login and logout, - first draft of payment view. --- README.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index e746560..1dc589e 100644 --- a/README.md +++ b/README.md @@ -19,10 +19,16 @@ curl https://nixos.org/nix/install | sh Start the environment with: -``` sh +```bash ./make start ``` +Init the database with migration scripts: + +```bash +sqlite3 database < src/migrations/x.sql +``` + Inside the tmux session, add some users with sqlite after the migration is done: ``` @@ -33,7 +39,7 @@ insert into user(creation, email, name) values (datetime('now'), 'lisa@mail.com' Later, stop the environment with: -```sh +```bash ./make stop ``` @@ -52,18 +58,11 @@ See [application.conf](application.conf). TODO ---- -### Chart - -- Tooltip with values -- Show / Hide serie by clicking on caption -- Adapt to screen width -- Show only the last entries and allow to move in time ? - -### Other +- remove duplicates server models / common models +- use another route to check the token and redirect to / - Add payment balance in weekly report - search by payment category and payment date - Move up element ids security (editOwn is actually at db level) -- Prevent a daemon to freeze when it got “SQLite3 returned ErrorBusy while attempting to perform step.” -- Minify javascript from elm for production build -- CRUD animations (loading, created-updated-deleted element) +- Minify javascript +- Extract persistence from model files -- cgit v1.2.3 From a3601b5e6f5a3e41fa31752a2c704ccd3632790e Mon Sep 17 00:00:00 2001 From: Joris Date: Tue, 7 Nov 2017 09:44:35 +0100 Subject: Update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 1dc589e..b203cdb 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ See [application.conf](application.conf). TODO ---- -- remove duplicates server models / common models +- move persistence methods to a module - use another route to check the token and redirect to / - Add payment balance in weekly report -- cgit v1.2.3 From 30f786e277b4ece6a09311de364082691f261ca3 Mon Sep 17 00:00:00 2001 From: Joris Date: Fri, 10 Nov 2017 01:23:49 +0100 Subject: Minify javascript in dist mode, compress served files with gzip --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index b203cdb..800a984 100644 --- a/README.md +++ b/README.md @@ -58,11 +58,10 @@ See [application.conf](application.conf). TODO ---- +- use jsaddle-dom in client/Main.hs - move persistence methods to a module - use another route to check the token and redirect to / - Add payment balance in weekly report - search by payment category and payment date - Move up element ids security (editOwn is actually at db level) -- Minify javascript -- Extract persistence from model files -- cgit v1.2.3 From 213cf7ede058b781fc957de2cd9f6a5988c08004 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 12 Nov 2017 22:58:23 +0100 Subject: Add mocked pages --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 800a984..e9762ea 100644 --- a/README.md +++ b/README.md @@ -58,9 +58,9 @@ See [application.conf](application.conf). TODO ---- -- use jsaddle-dom in client/Main.hs - move persistence methods to a module - use another route to check the token and redirect to / +- migration diff (use flyway?) - Add payment balance in weekly report - search by payment category and payment date -- cgit v1.2.3 From 49426740e8e0c59040f4f3721a658f225572582b Mon Sep 17 00:00:00 2001 From: Joris Date: Tue, 28 Nov 2017 09:11:19 +0100 Subject: Add search for payments --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index e9762ea..aa60885 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Start the environment with: Init the database with migration scripts: ```bash -sqlite3 database < src/migrations/x.sql +sqlite3 database < server/migrations/1.sql ``` Inside the tmux session, add some users with sqlite after the migration is done: -- cgit v1.2.3 From a4acc2e84158fa822f88a1d0bdddb470708b5809 Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 3 Jan 2018 17:31:20 +0100 Subject: Modify weelky report and payment search interface - Add payment balance in weekly report - Show a message and hide pages when the search results in no results - Go to page 1 when the search is updated / erased --- README.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index aa60885..34ae53e 100644 --- a/README.md +++ b/README.md @@ -58,10 +58,25 @@ See [application.conf](application.conf). TODO ---- -- move persistence methods to a module -- use another route to check the token and redirect to / -- migration diff (use flyway?) +### Interface -- Add payment balance in weekly report -- search by payment category and payment date -- Move up element ids security (editOwn is actually at db level) +- Search payments by frequency. +- Add a payment. + +#### Bonus + +- Adjust login design. +- smooth search. +- search payments by: + - category, + - date. + +### Code + +- R.def for custom components. +- Move up element ids security (editOwn is actually at db level). +- move persistence methods to a module. + +### Tooling + +- migration diff (use flyway?). -- cgit v1.2.3 From ab17b6339d16970c3845ec4f153bfeed89eae728 Mon Sep 17 00:00:00 2001 From: Joris Date: Fri, 5 Jan 2018 14:45:47 +0100 Subject: Add modal component --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 34ae53e..ec8c139 100644 --- a/README.md +++ b/README.md @@ -60,8 +60,10 @@ TODO ### Interface -- Search payments by frequency. - Add a payment. +- Edit a payment. +- Delete a payment. +- Clone a payment. #### Bonus @@ -76,6 +78,7 @@ TODO - R.def for custom components. - Move up element ids security (editOwn is actually at db level). - move persistence methods to a module. +- try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) ### Tooling -- cgit v1.2.3 From 33b85b7f12798f5762d940ed5c30f775cdd7b751 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 28 Jan 2018 12:13:09 +0100 Subject: WIP --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index ec8c139..8a141e5 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ TODO ### Code -- R.def for custom components. +- modal as body child https://stackoverflow.com/questions/33711392/what-is-the-proper-way-in-reflex-dom-to-handle-a-modal-dialog - Move up element ids security (editOwn is actually at db level). - move persistence methods to a module. - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) -- cgit v1.2.3 From 40b4994797a797b1fa86cafda789a5c488730c6d Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 28 Oct 2018 17:57:58 +0100 Subject: Delete payment --- README.md | 2 -- 1 file changed, 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 8a141e5..620dae6 100644 --- a/README.md +++ b/README.md @@ -75,9 +75,7 @@ TODO ### Code -- modal as body child https://stackoverflow.com/questions/33711392/what-is-the-proper-way-in-reflex-dom-to-handle-a-modal-dialog - Move up element ids security (editOwn is actually at db level). -- move persistence methods to a module. - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) ### Tooling -- cgit v1.2.3 From 8a28f608d8e08fba4bbe54b46804d261686c3c03 Mon Sep 17 00:00:00 2001 From: Joris Date: Tue, 30 Oct 2018 20:33:17 +0100 Subject: Upgrade reflex-platform --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 620dae6..9e10234 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,9 @@ TODO ### Interface -- Add a payment. +- Add payment error handling. +- Delete payment waitFor. - Edit a payment. -- Delete a payment. - Clone a payment. #### Bonus -- cgit v1.2.3 From 2741f47ef7b87255203bc2f7f7b2b9140c70b8f0 Mon Sep 17 00:00:00 2001 From: Joris Date: Thu, 1 Nov 2018 13:14:25 +0100 Subject: Implementing client side validation --- README.md | 1 + 1 file changed, 1 insertion(+) (limited to 'README.md') diff --git a/README.md b/README.md index 9e10234..83a172c 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ TODO ### Interface +- Add loader in the initial html page, that is showed before the JS code is running - Add payment error handling. - Delete payment waitFor. - Edit a payment. -- cgit v1.2.3 From bc81084933f8ec1bfe6c2834defd12243117fdd9 Mon Sep 17 00:00:00 2001 From: Joris Date: Mon, 5 Aug 2019 21:53:30 +0200 Subject: Use updated payment categories from payment add in payment’s table --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 83a172c..a102f87 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -Shared Cost -=========== +# Shared Cost Share costs with a group of people: @@ -8,8 +7,7 @@ Share costs with a group of people: - Statistics by month, - Weekly activity sent by email. -Getting started ---------------- +## Getting started Install nix: @@ -43,20 +41,22 @@ Later, stop the environment with: ./make stop ``` -Dist ----- +## Dist ``` make dist ``` -Configuration -------------- +## Configuration See [application.conf](application.conf). -TODO ----- +## Documentation + +- [reflex](https://hackage.haskell.org/package/reflex-0.6.2.1/docs/doc-index-All.html) +- [reflex-dom](https://hackage.haskell.org/package/reflex-dom-0.3/docs/doc-index-All.html) + +## TODO ### Interface -- cgit v1.2.3 From fc8be14dd0089eb12b78af7aaaecd8ed57896677 Mon Sep 17 00:00:00 2001 From: Joris Date: Wed, 7 Aug 2019 21:27:59 +0200 Subject: Update category according to payment in add overlay --- README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a102f87..39b5135 100644 --- a/README.md +++ b/README.md @@ -58,16 +58,32 @@ See [application.conf](application.conf). ## TODO -### Interface +### Payment view -- Add loader in the initial html page, that is showed before the JS code is running -- Add payment error handling. -- Delete payment waitFor. +- I should not be able to delete payment of another person +- When removing / modifying a payment, remove the payment category if there is no other payment with the same name +- Use dynamic payments in exceeding payers computation +- Check monthly payment functions - Edit a payment. - Clone a payment. +### Income view + +… + +### Category view + +… + +### Stat view + +… + #### Bonus +- HTTP error message +- Use only one loader +- Login with email and password - Adjust login design. - smooth search. - search payments by: -- cgit v1.2.3 From 7c77e52faa71e43324087903c905f9d493b1dfb7 Mon Sep 17 00:00:00 2001 From: Joris Date: Thu, 8 Aug 2019 21:28:22 +0200 Subject: Finish payment add modal --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 39b5135..39dd428 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,9 @@ See [application.conf](application.conf). ### Payment view -- I should not be able to delete payment of another person -- When removing / modifying a payment, remove the payment category if there is no other payment with the same name -- Use dynamic payments in exceeding payers computation -- Check monthly payment functions +- When removing / modifying a payment, remove the payment category if there is + no other payment with the same name +- Check monthly payment UX - Edit a payment. - Clone a payment. @@ -84,17 +83,17 @@ See [application.conf](application.conf). - HTTP error message - Use only one loader - Login with email and password -- Adjust login design. -- smooth search. - search payments by: - category, - date. ### Code +- Add tests about exceedingPayers - Move up element ids security (editOwn is actually at db level). - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) ### Tooling +- use Obelisk - migration diff (use flyway?). -- cgit v1.2.3 From fb8f0fe577e28dae69903413b761da50586e0099 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 10 Aug 2019 14:53:41 +0200 Subject: Remove payment category if unused after a payment is deleted --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 39dd428..dbffc41 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,9 @@ See [application.conf](application.conf). ### Payment view -- When removing / modifying a payment, remove the payment category if there is - no other payment with the same name - Check monthly payment UX - Edit a payment. +- Possibly remove payment category after payment edit - Clone a payment. ### Income view @@ -89,11 +88,15 @@ See [application.conf](application.conf). ### Code +- Move the CSS out from the index page - Add tests about exceedingPayers -- Move up element ids security (editOwn is actually at db level). - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) +### DB + +- Add DB indexes + ### Tooling -- use Obelisk +- deploy command - migration diff (use flyway?). -- cgit v1.2.3 From 234b5b29361734656dc780148309962f932d9907 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 10 Aug 2019 15:07:11 +0200 Subject: Use select component in payment search line --- README.md | 1 + 1 file changed, 1 insertion(+) (limited to 'README.md') diff --git a/README.md b/README.md index dbffc41..9f9b64b 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ See [application.conf](application.conf). ### Code +- Use BEM style - Move the CSS out from the index page - Add tests about exceedingPayers - try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) -- cgit v1.2.3 From c5c54722f4736108c8418c9865f81f05a6db560d Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 10 Aug 2019 15:29:56 +0200 Subject: Fix payment add frequency to the one selected in the page --- README.md | 1 - 1 file changed, 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index 9f9b64b..dfa417f 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,6 @@ See [application.conf](application.conf). ### Payment view -- Check monthly payment UX - Edit a payment. - Possibly remove payment category after payment edit - Clone a payment. -- cgit v1.2.3 From c542424b7b41c78a170763f6996c12f56b359860 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 10 Aug 2019 21:31:27 +0200 Subject: Add smooth transitions to modal show and hide --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index dfa417f..19309f5 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,10 @@ See [application.conf](application.conf). ### Payment view -- Edit a payment. +- Edit a payment - Possibly remove payment category after payment edit -- Clone a payment. +- Clone a payment +- Add icon tooltip ### Income view -- cgit v1.2.3 From 2d79ab0e0a11f55255fc21a5dfab1598d3beeba3 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 11 Aug 2019 22:40:09 +0200 Subject: Add payment clone --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 19309f5..bc9e98c 100644 --- a/README.md +++ b/README.md @@ -58,12 +58,16 @@ See [application.conf](application.conf). ## TODO +### Fix + +- When clicking on an input label, focus to the input + ### Payment view - Edit a payment -- Possibly remove payment category after payment edit -- Clone a payment -- Add icon tooltip +- Possibly remove payment category after payment edit (frontend) +- Remove old validation, use client validation on the backend +- Add icon tooltip ? ### Income view @@ -88,6 +92,7 @@ See [application.conf](application.conf). ### Code +- remove client warning messages - Use BEM style - Move the CSS out from the index page - Add tests about exceedingPayers @@ -101,3 +106,5 @@ See [application.conf](application.conf). - deploy command - migration diff (use flyway?). +- utiliser ghcid +- set up fast deploy -- cgit v1.2.3 From f4c5df9e1b1afddeb5a482d4fbe654d0b321159c Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 6 Oct 2019 19:28:54 +0200 Subject: Make payment edition to work on the frontend --- README.md | 53 ++--------------------------------------------------- 1 file changed, 2 insertions(+), 51 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index bc9e98c..6e1c675 100644 --- a/README.md +++ b/README.md @@ -56,55 +56,6 @@ See [application.conf](application.conf). - [reflex](https://hackage.haskell.org/package/reflex-0.6.2.1/docs/doc-index-All.html) - [reflex-dom](https://hackage.haskell.org/package/reflex-dom-0.3/docs/doc-index-All.html) -## TODO +## Issues -### Fix - -- When clicking on an input label, focus to the input - -### Payment view - -- Edit a payment -- Possibly remove payment category after payment edit (frontend) -- Remove old validation, use client validation on the backend -- Add icon tooltip ? - -### Income view - -… - -### Category view - -… - -### Stat view - -… - -#### Bonus - -- HTTP error message -- Use only one loader -- Login with email and password -- search payments by: - - category, - - date. - -### Code - -- remove client warning messages -- Use BEM style -- Move the CSS out from the index page -- Add tests about exceedingPayers -- try DuplicateRecordFields (https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields) - -### DB - -- Add DB indexes - -### Tooling - -- deploy command -- migration diff (use flyway?). -- utiliser ghcid -- set up fast deploy +See [ISSUES.md](ISSUES.md). -- cgit v1.2.3 From 52331eeadce8d250564851c25fc965172640bc55 Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 12 Oct 2019 11:23:10 +0200 Subject: Implement client routing --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 6e1c675..7f8d8f3 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,8 @@ See [application.conf](application.conf). ## Documentation -- [reflex](https://hackage.haskell.org/package/reflex-0.6.2.1/docs/doc-index-All.html) -- [reflex-dom](https://hackage.haskell.org/package/reflex-dom-0.3/docs/doc-index-All.html) +- [reflex](https://hackage.haskell.org/package/reflex-0.6.2.4/docs/doc-index-All.html) +- [reflex-dom](https://hackage.haskell.org/package/reflex-dom-core-0.5/docs/doc-index-All.html) ## Issues -- cgit v1.2.3 From 227dcd4435b775d7dbc5ae5d3d81b589897253cc Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 2 Nov 2019 20:52:27 +0100 Subject: Implement incomes server side paging --- README.md | 4 ---- 1 file changed, 4 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 7f8d8f3..c83a18b 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,3 @@ See [application.conf](application.conf). - [reflex](https://hackage.haskell.org/package/reflex-0.6.2.4/docs/doc-index-All.html) - [reflex-dom](https://hackage.haskell.org/package/reflex-dom-core-0.5/docs/doc-index-All.html) - -## Issues - -See [ISSUES.md](ISSUES.md). -- cgit v1.2.3 From bc48d7428607c84003658d5b88d41cf923d010fd Mon Sep 17 00:00:00 2001 From: Joris Date: Sat, 18 Jan 2020 16:18:26 +0100 Subject: Add deploy command --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index c83a18b..2037cae 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,10 @@ Later, stop the environment with: ./make stop ``` -## Dist +## Deploy -``` -make dist +```bash +make deploy ``` ## Configuration -- cgit v1.2.3 From af8353c6164aaaaa836bfed181f883ac86bb76a5 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 19 Jan 2020 14:03:31 +0100 Subject: Sign in with email and password --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 2037cae..8c736d4 100644 --- a/README.md +++ b/README.md @@ -25,14 +25,16 @@ Init the database with migration scripts: ```bash sqlite3 database < server/migrations/1.sql +sqlite3 database < server/migrations/2.sql +sqlite3 database < server/migrations/3.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'); +insert into user(creation, email, name, password) values (datetime('now'), 'john@mail.com', 'John', '$2y$14$1QqyMA8vknmSVBq9BcGi6upZISLwsP2aPXx5JZOMPVzaZ8gorrsq.'); +insert into user(creation, email, name, password) values (datetime('now'), 'lisa@mail.com', 'Lisa', '$2y$14$1QqyMA8vknmSVBq9BcGi6upZISLwsP2aPXx5JZOMPVzaZ8gorrsq.'); ``` Later, stop the environment with: -- cgit v1.2.3