The rest of this series can be found here.
Day 3: time to start working on a project from scratch without following a guide. I’m intentionally not taking one of numerous online classes for several reasons:
- More freedom to explore
- More work figuring out how to do something rather than just re-typing or copying/pasting from a guide (and hopefully, more learning)
Starting today, I’ll be working on a simple to-do/checklist app; I don’t have as much time today, so probably will just sketch out the basics of the app and not get too deep into code today. Here goes.
A simple checklist app, allowing you to create one or more items per day that you can “check off.” I’m not sure yet if I’ll build out support for recurring items.
- Dates: I had thought about creating a model for dates and may eventually end up doing that, but figured I’d try using built-in date functions first.
- To-dos: the main model; has a required title, a required boolean “completed” field, an optional (but encouraged) date, optional notes
- Tags: a secondary model; tags will be more flexible than “folders” to put the to-do items into
Routes and Views
- When loaded, the main site will bring up a list of all the uncompleted to-do items
- /completed/ will bring up a list of the completed items
- /create/ will bring up a page for creating a new item
- /tags/ will bring up a screen to manage tags
- Since app this will (eventually) be publicly-accessible, I’ll need to add a few more things:
- Require users to sign up and authenticate themselves to use the service
- Limit the number and size of items (to keep database size down) and/or reset the database periodically
- Eventually, I may add Ajax functionality to streamline the experience.