- Sketch a domain model
- What are domain classes?
- What are relationships among domain classes?
- What are responsibilities of each domain class?
- Pick the easy ones first.
- Which ones do you need to refine first N (N is small) user stories?
- Pick a User Story, refine it.
- Design a page layout template. This can be simple because real estate is at a premium, but Rails provides nice support for generalizing a layout across entire application.
- Finalize (conditionally) what each "page" looks like, that is, what fields it contains.
- Build in navigation: implement flow we charted in meeting.
- Ask: What are implications of UI and UI flow on model?
- Consider data-flow of report submission.
- One of first goals should be to get an end-to-end pipeline in place from screen to backend. This can be rough but it will provide context for discussion of further design.
- I imagine a Rails SubmissionController on the back-end of this pipeline. Its first implementation is real simple: generate a text file.
- I also imagine some sort of NotificationService for distributing reports (in whatever form). Its first implementation is real simple: print to console.
- Using Rails scaffolding support, we can very easily build some cheap admin screens for:
- Adding students
- Adding users (ie RA, Hall Directors)
- Defining buildings, etc.
- Adding infractions
- Start asking: How is a report modeled?
- I wonder if something like this would be useful: http://oreports.com/ (http://oreports.com/docs/or-install-guide-3.0.html). This package pulls from relational database.
- If you grab the folder \\csfile\software\openreports\openreports-tomcat and drop it in at C: on a windows machine, you can see some of the capabilities of openreports.
- Copy folder to c:
- Change directory ino openreports, ie. cd openreports
- Run startup.bat script
- In browser, visit by http://localhost:8080/openreports (assuming you are on same machine)
- User/password = admin/admin.
What you are viewing, of course, is a demo app. Behind the demo is the kind of code we would write to generate reports from sql.
- One nice thing about this package is that it can generate either HTML or PDF!
It may not be a bad idea to prototype user story on desktop; get a quick feel for flow.
I would encourage getting started on this as a way to start to shake out model and as a way to familiarize yourself with Rails.
No comments:
Post a Comment