CP3406 Assessment 1 : Utility App
Overview
Utility apps provide rapid, “at-a-glance” information to the user. For example, a simplified local weather app shows only the most relevant information about the local temperature and current weather conditions. Another example is a simple mindfulness app that helps the user keep track of how long they meditate.
In this task, you will design and build a utility-style mobile application that delivers focused, at-a-glance functionality for a specific daily-life activity. You are free to choose which activity, what aspect of daily life, and the design and functionality of the utility app. User-interaction via button events is expected to be minimal but intuitive. Your utility app must consist of a main screen and a settings screen that controls some aspects of the main screen content or functionality. Note that for this app, the settings do not need to be persistent.
Additionally, you will write a brief self-reflection about meaningful experiences that occurred while working on your utility app.
Technical Scope
At a minimum, your utility app should demonstrate your understanding of the topic areas covered in Weeks 1-5 (shown in the table). However, we may encourage you to explore additional aspects of app development to enhance your utility app in interesting and useful ways.
| Week | Topic |
| 1 | Kotlin and Android Studio setup |
| 2 | Layouts using Jetpack Compose |
| 3 | Material Design 3 principles |
| 4 | App architecture (ViewModel, DI, Repository pattern) |
| 5 | Web APIs using Retrofit |
Starter Template
You will begin with a starter template, which includes several Composables:
- UtilityApp() – the main scaffold with bottom navigation
- UtilityScreen() – placeholder for your core utility functionality
- SettingsScreen() – placeholder for user preferences or configuration
The template uses Jetpack Compose and basic Material Design 3, and toggles between screens using a bottom navigation bar. This avoids complex navigation (not covered until Week 6) and keeps everything within a single activity.
Detailed Requirements
1. App Development
- Your app should be developed using Kotlin and modern Android APIs, libraries, and coding principles.
- Follow Material Design principles with Jetpack Compose for creating a clean, responsive, and user-friendly interface.
- Use ViewModels, Repository pattern, dependency injection and other architecture best practices to manage app data and business logic and support good Android lifecycle management.
- Simple navigation is already implemented in the starter template. You are not expected to have additional screens or navigation beyond the provided code.
- Implement networking capabilities to fetch data from relevant external APIs or services to provide novel and creative features in your app.
- Use GitHub for version control to manage and document your code and commit regularly (at least a few times each week) to clearly show your development progress. In addition, provide a README file that clearly outlines the core features of your app and their implementation.
2. Self-Reflection
- You will need to submit a 1000-word self-reflection based on Gibbs’ Reflective Cycle. The purpose of this self-reflection is to critically assess your work, identify challenges, and highlight areas of improvement.
- Focus on: o Description: What happened during the project? o Feelings: What were your feelings/reactions throughout the project?
- Evaluation: What went well and what didn’t go well?
- Analysis: Why did things go well or not well? o Conclusion: What did you learn?
- Action Plan: What would you do differently next time?
Submission Guidelines
In the LearnJCU Assignment 1 app submission dropbox, upload the following:
- A .zip file containing your Android project, exported from Android Studio (File > Export > Export to zip file…).
- A .pdf file containing your 500-word self-reflection.
- Provide a link to your GitHub repository in your submission. Ensure that it is shared with your lecturer and subject coordinator.
Academic Integrity
- This is an individual assignment. You are expected to complete this assignment independently. Proper citations should be provided for any sources or content that is not original. Any form of academic misconduct, including plagiarism, collusion, and inappropriate use of GenAI, will be pursued according to the Coursework Academic Integrity Policy and Procedures.
- Any use of generative AI must be appropriately acknowledged and include a Declaration of AIGenerated Material (submit this with the assignment).
Looking for CP3406 Mobile Computing Assignment Help?
Native Singapore Writers Team
- 100% Plagiarism-Free Essay
- Highest Satisfaction Rate
- Free Revision
- On-Time Delivery