We have just started the first sprint iteration, which runs until the end of June. Our main focus this sprint is to complete the Homework Planner and the CAP Calculator. We are still in the midst of creating the Homework Planner, so I'll just show some of its sub-features that we managed to implement so far.
But first, our new splash screen!
This screen will show when the app starts or when the user is logging in. It may not look very impressive but it seems like a sleeker interface as compared to progress dialogues popping up everywhere. This is simply the login screen, but with the text fields hidden and a small progress ball shown.
Alright, now on to the Homework Planner.
The boxes shown here are containers for homework items, segregated by module. The module codes are gotten from the IVLE API, and then used to dynamically generate the view. The page is empty now because we have no homework items yet.
So how does one add a homework?
Tapping on any of the module containers will bring up a popup menu with two options, Add and View All. The popup menu is bound to the module container which was tapped, so if the user decides to add a homework, the homework item will be put under the chosen module, as we shall see.
Tapping the Add option brings the user to the Add Homework page.
The user will then fill up the relevant fields. The only two required fields are the Event Title and the Date. Here are a couple of examples for filling up the details.
Ticking the Recurring Event checkbox will cause additional radio buttons to show, offering more details of the event recurrence. We still need to beautify the page a little more, but for now it's functional. After filling in all the information, we press Add Event to save the homework item to the database backend. The Add Homework page is then closed, and the Homework Planner page is brought to the front again.
The image above shows a populated Homework Planner page. The homework items are stored in a database backend, local to the phone. On creation or refresh of this page, the database is polled. As a module container is being created (dynamically), the logic also performs a database query for all the homework items that are bound to that module. These homework items are then displayed under the appropriate module code.
For our next step, we will implement the View All page. This page will showcase all the homework items under a selected module, and will offer deletion and editing of the homework items.
Some details of our backend database implementation:
- We are using the Android API version of SQLite.
- The database currently only has one table, "homework". We are still looking to see if we can utilize it better.
- We chose to use a local database because its response time is much faster than cloud storage.
- Also, it should be possible to retrieve the actual .db file and upload it to a cloud storage if the user wants to backup his data.
Alright that's all for now, hope to have Jiawei writing the next post :)
Thanks for reading!
Nick






