doshprompt / codepath-todoapp

http://courses.codepath.com/snippets/intro_to_android/prework
Apache License 2.0
0 stars 0 forks source link
android codepath todoapp

Pre-work - CodePath TodoApp

Listagram is an android app that allows building a todo list and basic todo items management functionality including adding new items, editing and deleting an existing item.

Submitted by: Rahul Doshi

Time spent: 10 hour(s) spent in total

User Stories

The following required functionality is completed:

The following optional features are implemented:

The following additional features are implemented:

Video Walkthrough

Here's a walkthrough of implemented user stories:

Video Walkthrough

GIF created with LiceCap.

Notes

I planned on completing a whole number of other design ideas that I have but I had no time/ran short:

DBFlow was also slightly tricky to work with, especially when changing the type for a column the app needed to be recompiled before it would pick up the changes (for autocomplete) when writing out the syntax for SQL queries etc.

Given more time, I would have probably also restructured/refactored my app into a few different packages, and identified several places where I could have easily promoted code reusability using modern OOP concepts and design patterns like abstraction, data encapsulation and polymorphism.

Lastly, getting the right icons was a challenge, and layouts were not always easy to work with.

Finally, I would have also liked to include at least some rudimentary/basic testing. I spent a lot of time debugging my app and manually testing edge-cases and corner conditions.

License

Copyright 2017 Rahul Doshi

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.