Next Broadcast

BS Software Dev Capstone Project - Android 30 day project tracker.

Cameron Code and Eng DK30 Fall 2020 0 0

Description

Creating a 30 day project tracker app in Android. Written in Java and also creating the proper documentation to support, i.e. use case, tests, user instructions.

Recent Updates

Cameron 5 years ago

Still plugging away. As this is wrapping up the 30 days I wanted to document out the UI that is currently in place. Lots of images incoming.

The starting screen when no project is active.

The start of creating the project.

Walking through the project creation.

Helping the user with time estimates.

Estimating time for the day/week/month of the project

Milestone creation.

Day estimates assist with creating the Milestone's end date.

Previous time estimate shows up to give a total for the Milestone. Also days remaining counts help keep the overall project scope in mind.

Creating the project. This button takes you to adding more details to Milestones.

Editing or Creating Milestones. The Skip/Next Milestone buttons change based on which action got us here. If from creating a project they show as in the image. If just editing an existing milestone, Skip doesn't show up and Next Milestone changes to 'Save'

Lots of tasks can be added to a milestone.

Displaying the active project. This is the starting screen if there is an active project when the application is opened.

Current project status. Still a WIp but trying to give the user an idea of what has been done and what is coming up.

Settings screen. Current can only check the active project. Need to add removing projects.

Overall, I am really happy with how much I got done in the thirty days, and still aiming at getting this done before Thanksgiving.

Cameron 5 years ago

After getting laid off, I’ve put in well over 70 hours of development time over the last two weeks. And, I’ve learned a bit. I was trying to be clever with a system to add and remove items from a list and put in over 16 hours of coding into it, almost 650 lines of code. I took a little bit of a mental unwind break in another area and realized that I could have just used an existing data structure to manage the whole 650 lines of custom code much more smoothly and with less processing time. So I’ve spent the last 12 hours unwinding what I did, putting in the better solution and now I am almost all all required core features in place. I have one piece of debugging and then just hooking in 5 buttons and I’m done with all the core features for the application.

I estimate that I have the following coding work remaining. 4 hours of core feature coding. 16 or so hours of sprucing up the UI and filling out the style sheets I have in place. 15-20 hours of documentation creation.

My hard date to finish this is the end of December, but I put a real good effort into getting this done in a month. I think that I created a larger project than I needed for this but I really want to get it done. I definitely have simplified things as I went along, i.e. originally I had things like multiple different statuses for a milestone and task, now I am just considering them complete or not. This ended up making the end user UI considerably more streamlined and easy to work with.

I definitely do not feel like there is any learning or big challenges ahead of me in finishing this, it is just hours at the keyboard and working through the issues one at a time.

I’m optimistic that I can finish this before Thanksgiving and will be able to add a Software Development degree to my list of things I’m thankful for this year.

Cameron 5 years ago

Work got a bit crazy and then I got laid off. I’m fine financially, I had previously talked with my wife and at the start of the pandemic told my boss that if he needed to lay someone off, I would be short timer on his team. With a completed degree I will be transitioning to a new career and would be moving off of his team. So, I now have extra time to focus on this and a free hand to finish my degree.

From the previous post, I have a few screens heavily functional and working on a status page now.

Current functional project status page This is a scrollable screen with the ability to mark off tasks on the screen itself. I need to get the Milestone & Task edit screens created, as well as the project creation screen created.

Current status of the 30 days This was a really big challenge, is midway through and I felt REALLY happy getting major progress steps completed on this. I had been making all of my UI through the pre-execution layouts. The big change for this screen is that it is all programatically created and can now be uniquely addressed and adjusted. My next steps are going to be giving the user a current view with milestones marked out as well as the current day int he project shown. The colors setup for the daily status

Reflecting on current project status, I do not feel like I am have completed my week 2 goal of being 50% completed. However, with my extra 40 hours a week available to me, I feel like I will be able to finish up application development this week.

Cameron 5 years ago

Been working through screens and shifted from multiple activities to fragments as they were easier to manage the subtasks for each screen. However, with that shift I’ve had to deal with several issues with the life cycle management and hierarchy/context owners. I’m working through the bugs and almost have my first screen fully hooked up to test data. Once that is done, I’ll have worked through my major hurdles and the other screens become mostly work rather than problem solving. I’m pretty happy with progress thus far.

Cameron 5 years ago

Did some design write ups regarding object structures and screens. Brainstorm 1

Brainstorm 2

Setup a Kanban board with active work. Kanban board

And got some coding done. Have the entities created, have the Room database setup with Entities, DAOs, and a Repository in place.

Lastly working on logic for screen flow from the main java activity. Logic of work in comments

Haven’t got the screens setup yet, but will be starting barebones of those next.

Estimated Timeframe

Oct 11th - Nov 11th

Week 1 Goal

Document out application feature requirements, document and mock up required screens, create project task board and estimate task hours. Create basic database structure. Aim to be 10% through application development

Week 2 Goal

Work through project tasks, aim to be ~50% finished with application coding and user stories.

Week 3 Goal

Finish application development.

Week 4 Goal

Create documentation including business case, the software development life cycle process used, the project deliverables, validation steps for end users, project costs, application structure, unit test plans, installation instructions and user guide.

Tags

  • android
  • java
  • app
  • mobile app
  • technical documentation