Overview
This iteration, our main focus was to finish implementing the registration and log-in use-cases, implement creating and viewing tasks, re-do the backend architecture, and add various JUnit Tests.
Iteration Plan
On Server side we:
- Completely re-did the backend architecture, by creating a RequestHandler class which deals with all the requests the server receives and perfoms various actions based on them
- We were having some issues with kryonet, so we created TestClient and TestServer to test kryonet sending/receiveing
- DB now has methods getTask and createTask in taskDAO.java
- DB now has methods addUser and getUser in UserDAO.java
- DB now has method getTaskList in taskDAO which returns a number of tasks
On Client side we:
- Added a navigation bar at the top of the task list which allows for filtering tasks by tags and quickly adding a new task
- Added a splash screen - this allows us to connect to the server behind the scenes in an Async task - the screen also has a nice animation
- Added the task map using the Google Maps API - this allows users to see tasks near their current location
- Seperated the log-in and registration screens
- Re-designed the log-in screen to look much nicer and have a link to the registration screen
- Re-did the registration screen to take first name and last name in seperate inputs
- Created a sendRequest() method in GarconModel which sends requests to the server in the background using an async task
- Changed the Android icon for the application
In the Commons (Both Client and Server)
- We now return Response objects to the server as opposed to Proxy objects - this allows for more generality and sending more information if need be
General Iteration Notes:
- As suggested in our Iteration 3 comments, we removed most Eclipse warnings, which were mainly unchecked exceptions and unnecessary imports
- The "log-in" and "register user" use cases are now complete
- The "add task" and "view tasks" use cases are near complete - they just need some fixes on the server to DB communication
- We still have some prints,etc for debugging that we are still using - please disregard them
Goals For Iteration 5
- Complete the "perform task" use cases
- Complete the "rate user" use cases
- Write test cases for the newly completed use cases
- Database password security
Goals For Iteration 6
- Clean the UIs and make them look nicer
- Write UI unit tests
- Allow users to edit profile by adding a picture, bio, and location
- Reach Goal: Integrate inter-user messaging