Chore Chart is a simple clojure(script) application using reframe. Meant as a test pilot for learning reframe development and something moderately useful.
- To support email provide the chorechart gmail password in
config.edn
at the base of this project- include this in file
{:mail-password "password.here"}
- include this in file
- install Vagrant + Virtualbox
- clone repo
- run
vagrant up
in cloned directory - wait
- open 2 shells and run
vagrant ssh
in both, after the box is initialized - in 1 shell run
lein run
and wait until it is serving - in the other shell run
lein figwheel
- visit
localhost:3000
in browser
- run
bash start.sh
to conenct to vm with ssh ?tunneled ports? - run
cd/chorechart
to get into the project - run
./cider-deps-repl
to create an nrepl that cider can connect to - in spacemacs open a repl by going to a .clj file and running
SPC m s c
and selecting localhost and then chorechart:port 7000 - open repl buffer
SPC b b
using arrow keys to select repl buffer - run
(start)
to launch the webserver - when that returns run
(start-fw)
to start figwheel - when that returns run
(cljs)
to start a cljs nrepl - visit
localhost:3000
in browser
vagrant ssh
to gain access to the vm- navigate to
~/chorechart/mockaroo
- run the desired
.sql
scripts with the commandsudo -u postgres psql -U postgres -d chorechart_dev -a -f scriptname.sql
vagrant ssh
sudo -u postgres psql -U postgres -d chorechart_dev
- refactor namespaces
- SPA components
- chart
- households
- roomates
- chores
- info
- navbar
- other misc
- handlers
- chart
- households
- chores
- roomates
- endpoints
- make authentication middleware
- refactor home routes into logically grouped resty ns
- chores
- households
- living_situations
- roomates
- chart
- SPA components
- chart filter
- filter buttons
- interval selector
- interval inputs
- start interval dispatch
- end interval dispatch
- default interval
- alter to accept intervval
- get-chart handler
- endpoint
- sql query
- change roomates to people in SPA
- basic error messages in SPA
- add roomate
- households
- chores
- validate email on signup http://stackoverflow.com/a/33737528/5040125
- splash screen
- remove name from chart entry input
- fix chart submission sticking after entry
- fix chore list not refreshing when switching household and going directly to chart
- safari squashes date field for chart entry
- house selection should be a click event on the whole row, not tiny box that safari doesn't even render
- hash passwords
- error message on invite
- case insesitive emails
- update readme
- margin on bottom of chart to go above absolutely placed input section
- unique constraint on living situations to avoid duplicates
- send an email after signing up
- try this
- did not work
- this worked
- try this
- password recovery
- forgot password enpoint
- set random identifier on users table with timestamp
- send recovery email with link
- password reset endpoint GET
- check identifier from GET param
- check timestamp
- show password recovery form (embed identifier in POST) or Error
- password reset endpiont POST
- check identifier from POST
- check timestamp
- reset password or error
- forgot password enpoint
- invite friend
- send email
- add to house if already a member
- add to house on signup (or prompt?)
- material design
- test suite
- follow all these rules
- authorization
- optional image upload for verification on chart entries
- fake deleting (inactive bools)
- chores
- living situations (use this to allow "soft kicks" that a user can recover from)
- kebab the snakes
a_snake_example a-kebab-example
- remove all snakes from SPA components and handlers
- remove all snakes from endpoint params
- only snakes are in the keys to maps sent to db fn's OR kebab to snake library
- add new household on click causes js error (can't find call)
- custom date ranges are zero'd but chart entry moments are not (makes them not entirely inclusive ranges)
- admin privs for households
- copy chore from one household to another
- redirect (signup/login) if logged in
- refactor db intensive actions to use rollback transactions (ex: signup with default house setup)
- adding roomate that isn't signed up
- save as pending in postgres
- send email to both inviter and invitee
- spa notification to inviter
- add better re-frame dev tools
- get rid of the need for list returns on endpoints
- point system
- value each chore
- cumulative points listed next to roomates
- color code roomates
- choose color on roomates page
- chart displays colors
- password recovery
- rename pass to password people table
- add a first/last name to the people table
- constraint for no duplicate names on chores per household
- uniqueue constraint on living_situations
(person_id, household_id)
- ?constraints for adding chores to households you don't belong to
- timestamp all database writes (add columns to all tables)