- Users can create their own accounts and login/logout
- Add bills: Amounts, date, and category by frequency (monthly/quarterly)
- View a list of all bills & bills total
- Create new user
- Edit user details
- Delete user
- Add bills
- List of bills
- Bills total
- Add bill categories by frequency
- Mark as paid or unpaid
- Edit bill details
- Delete bill
- Use paid/unpaid to view list of each
- Sorting options (view data in specified orders. Eg: by column)
- View graph of bills over time
- Monthly/Quarterly breakdown
- Comparisons with previous months/years
- Forecasting
- Splitting bills with other users
Rough Sketches:
- Page-map
- Resources
- Page-layout
- Started with building the user side first, and then the bills side.
- Step by step process. Incremental building and testing.
- Login - if name is spelled incorrectly page throws noMethod error
- Paid input - Currently not in use. Default value sent to params is on / nil.
- Update bill - Unable to send query string via action??
- Adding fractional values to amount - SQL column value needs to be changed
- Incremental development - Fail fast!
- Decide on naming conventions during planning. Naming conventions save lives.
- Using redirects to send query strings.
- Page throws error - Have you read the error correctly? No, but seriously, have you read the error correctly? No, but seriously, have you read the error correctly? No but seriously... If you're going round in circles, you havn't read the error correctly.
- CSS "Templating" - Useful to apply css styling to elements accross a number of pages. This helps to maintain a coherent style across all pages and prevents having to go back and forth to check styling specs.
- "Basic features" turn out to often not be so basic