CET343 Android Mobile Development Assignment
This assignment contributes 100% to your final module mark and tests learning outcomes 1,2, 3 & 4. The assessment has been designed to enable completion within a maximum time frame of 42 hours.
1. Advanced understanding of the various methodological approaches to native mobile design, including different programming languages, storage designs and appropriate native mobile standards.
2. Comparative knowledge of design and development techniques for the design of native mobile applications and storage systems
3. Ability to plan, analyse, design, build and implement a media and interaction rich native mobile application in a chosen domain
4. Ability to plan, develop and implement an integrated testing and evaluation strategy accounting for user experience, data integrity and network performance issues.
This assignment is split into three parts. Part A is worth 30 marks and is an analysis, design, functionality, testing and evaluation report which offers you the opportunity to discuss your appโs life cycle, functionality against the requirements, present your testing results and evaluate the overall success. Part B is worth 60 marks and this offers you the opportunity to create the app you have designed. The final section, Part C, is worth 10 marks and gives you the opportunity to demonstrate your app.
The deadline for this assignment is available on Canvas. Please submit to the assignment space on canvas.
Scenario
MealMate
You have been commissioned to create an app that assists users in planning their meals for the week while allowing them to create a grocery shopping list. This app enables users to input their favourite recipes, including ingredients, preparation instructions, and pictures. It also features a grocery list generator that consolidates all ingredients needed for the selected recipes. Users can delegate shopping tasks to family members, track prices, and even integrate with local grocery stores for item availability.
Typical User Interactions
Emma is a busy professional who wants to eat healthier and save time on grocery shopping. She searches for meal planning apps on the Play Store and discovers MealMate. After downloading the app, she registers for an account and logs in.
Inside the app, Emma begins by browsing a selection of recipes. She selects several meals for the week, including “Chicken Stir-Fry,” “Vegetable Quinoa Bowl,” and “Spaghetti Carbonara.” For each recipe, she reviews the ingredients and saves them to her weekly meal plan. The app automatically
generates a grocery list that includes all the necessary items, organized by category (e.g., vegetables, grains, proteins).
Knowing that she wonโt have time to shop herself, Emma decides to delegate the grocery shopping to her friend, Lily. She selects the grocery list and uses the delegation feature to send her a text message containing the list of items, prices, and a reminder of where to find each item in the local store.
A few days later, while browsing a food blog, Emma discovers a new recipe for “Zucchini Noodles with Pesto.” She shares the recipe link directly to MealMate, which pulls in the ingredients and adds them to her meal plan and grocery list.
Emma also uses the appโs geotagging feature to mark her favourite grocery stores, so she can quickly find where to purchase specific items. As she shops, she marks items as purchased on her list, ensuring she doesnโt miss anything. The app also provides her with reminders for upcoming meal prep, helping her stay organized and on track with her healthy eating goals. By the end of the week, Emma is pleased with how easy it was to plan meals and shop efficiently, allowing her more time to enjoy cooking and dining with her family.
You are required to develop a prototype application for the Android operating systems which will include at least all of the core requirements.
The prototype
Core requirements of the app:
โ Home screen – the point of entry for your app.
โ User registration and login.
โ Manage my items
โ Delete items
โ Edit items
โ Mark items as purchased
โ Create a meal (recipe) with the ability to input ingredients and instructions โ Item Delegation
โ The ability to send a shopping list as an SMS to another phone / contact.
Optional Desirable Requirements for the app:
โ The ability to Geotag a store or location so the grocery list can be viewed on a map. โ The ability to allow integration with other apps so products from other apps can be stored on the MealMate app.
โ To include appropriate gesture controls to improve the management of items. As a minimum this would include swipe left and right and shake.
There is no associated logo or house style for this app yet so you have free reign over the appearance, but pay particular attention to Material Design.
Part A – Analysis, design, functionality, testing and evaluation (30 marks)
A technical report should be submitted. The document should include the following sections: โ Front report page. Include name, userID, registration number and programme. โ Analysis. This section requires you to provide a comparative evaluation of the various
approaches to mobile app design and development, including operating systems, options for different programming languages, storage designs and appropriate native mobile standards. Your comparison should consider iOS and Android based solutions at a minimum. This section should be in the region of 750 words.
โ Design. This section should show your screen hierarchy, plus wireframe design and menu / layout details. You should critically evaluate how your design matches current Material Design principles and UX trends. Screenshots of XML layouts created in Android Studio are not acceptable and will receive no marks.
โ Functionality. Provide detail on key elements of your applicationโs functionality with a breakdown of key examples of coding logic, ie how it works. You should give a clear description of the implementation, including storage requirements and external APIs used (if relevant), and justify your design and implementation choice.
โ Test Strategy and Test Results. Summarise your strategy for testing and include a testing table of tests and their results.
โ Evaluation. Comment on the success of your implementation and make recommendations for improvements.
Part B – Build of the mobile Android app – (60 marks)
The completed prototype app should be submitted. The application should be native and work well on an Android phone or tablet device. For the purpose of this project all data persistence can be local but it is encouraged to implement cloud solutions for data persistence.
Your prototype should include all of the core requirements mentioned in the scenario.
You are also to attempt one of the optional desirable features. Please only attempt one desirable feature, as marks will only be awarded for one. You must make it clear which desirable requirement you have attempted.
Please ensure that all code (XML and Java / Kotlin) is commented appropriately and that you have packaged the app successfully before submitting a zipped project file to canvas.
Part C – Demo (10 marks)
You are required to demonstrate your app with a screencast recording. This should be no longer than 10 minutes. The purpose of this demonstration is to:
โ To showcase the application and how well you have met the core requirements. โ To showcase the application and how well you have met the desirable requirement of your choice.
โ To demonstrate any issues identified during testing which have not yet been resolved.
Submission
The deadline for submission is available on Canvas.
You need to fill the assignment cover sheet provided in the module Canvas Assignment tab, please complete the sheet and submit it with all the files of the assignment.
Please submit your filled assignment cover sheet file and the 3 parts files to canvas submission link including: A PDF for your assignment cover sheet, A PDF for your report, a Zip file containing your android studio project and an MP4 file of your screencast.
Marking Criteria
Part A
Analysis (4 marks)
Full marks will be awarded for a clear, detailed and accurate analysis and evaluation of the various methods and approaches to native app development.
Design (10 marks)
Full marks will be awarded for a full collection of wireframe designs that follow current material design standards and follow current trends in application design. User interaction needs to be fully considered to ensure a good user experience and marks will reflect this. An explanation of your design and how it matches material design must be included to achieve full marks for this section.
Functionality (4 marks)
Full marks for clearly explaining your appโs core functionality including explaining the storage of data and any APIs you might have used.
Testing and Evaluation (8 marks)
Full marks awarded for detailing your chosen test strategy, presenting your findings and critically evaluating how successful your app has been.
Presentation and referencing (4 marks)
Full marks for this section will be awarded for a professional report including a front cover and accurate referencing.
Part B
Core functionality to include the following (maximum 48 marks):
โ Home screen with Login or Signup – the point of entry for your app. (6 marks) โ User registration / login (8 marks)
โ Manage my items
โ Delete items / Forget items (4)
โ Edit items (8)
โ Mark as purchased (4)
โ Create a meal (recipe) with the ability to input ingredients and instructions (8 marks) โ Item Delegation (10 marks)
โ The ability to send a shopping list as an SMS to another phone / contact.
Desired functionality (1 to be completed, maximum 12 marks)
โ The ability to Geotag a store or location so the grocery list can be viewed on a map. โ The ability to allow integration with other apps so products from other apps can be stored on the MealMate app.
โ To include appropriate gesture controls to improve the management of items. As a minimum this would include swipe left and right and shake.
Part C
Demonstration (10 marks)
A short, successful and professional demo of your application explaining how you have met the core and desirable requirement and any issues you had along the way. This is to be submitted as a screencast (mp4) no longer than 10 minutes.
Marking Grid
Analysis |
4 marks A fully comprehensive accurate analysis and evaluation that includes the various methods and approaches to native app development. |
2-3 marks A good analysis and evaluation of the methods and approaches to native app development. This may be lacking in detail and critical evaluation. |
0-1 marks A poor analysis of current methods and approaches to app development. This may be significantly lacking in detail and critical evaluation. |
---|---|---|---|
Design |
8-10 marks A full collection of wireframe designs that follow current material design guidelines and current trends in app design, complete with a detailed critical evaluation of how your design meets these guidelines. |
3-7 marks A full collection of wireframe designs that partially conform to material design guidelines. Your critical evaluation might be lacking in detail and justification. |
0-2 marks Partially completed wireframe designs with an evaluation that falls significantly short of what is required. |
Functionality |
4 marks |
2-3 marks |
0-1 marks |
A fully comprehensive accurate description of the functionality included in your app. |
A description of most of the functionality of your app but some parts may be missing or not described. |
A poor or missing description of the functionality of your app. |
|
---|---|---|---|
Testing and evaluation |
7-8 marks A comprehensive test strategy where all tests are relevant and documented, including a detailed documentation of how successful your app has been. |
3-6 marks A good test strategy where testing is mostly relevant and you have attempted to critically evaluate how successful your app has been. |
0-2 marks Partially completed or missing test strategy with little or no evaluation. |
Presentation and referencing |
3-4 marks Professional presentation including contents page and front cover with accurate referencing |
0-2 marks Presentation of the document might be lacking professionalism and references might not be accurate |
N/A |
Core app functionality (maximum 48 marks) |
||
---|---|---|
Home screen |
4-6 marks A fully or partially working activity. |
0-3 marks An incomplete or missing activity. |
User registration |
5-8 marks A fully or partially working activity. |
0-4 marks An incomplete or missing activity. |
Delete / forget my items |
3-4 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
Edit my items |
5-8 marks A fully or partially working activity. |
0-4 marks An incomplete or missing activity. |
Purchased my items |
3-4 marks A fully or partially working activity. |
0-2 marks An incomplete or missing activity. |
Create an item |
5-8 marks A fully or partially working activity. |
0-4 marks An incomplete or missing activity. |
Delegate an item |
6-10 marks A fully or partially working activity. |
0-5 marks An incomplete or missing activity. |
Desired functionality (maximum 12 marks and only one to be attempted) |
|||
---|---|---|---|
Location tagging of items |
9-12 marks A complete or very good attempt at the functionality |
4-8 marks A good or partially working attempt at the functionality |
0-3 marks An incomplete or poor attempt at the functionality |
App integration |
9-12 marks A complete or very good attempt at the functionality |
4-8 marks A good or partially working attempt at the functionality |
0-3 marks An incomplete or poor attempt at the functionality |
---|---|---|---|
Range of gestures and sensors |
9-12 marks A complete or very good attempt at the functionality |
4-8 marks A good or partially working attempt at the functionality |
0-3 marks An incomplete or poor attempt at the functionality |
Presentation screencast (maximum 10 marks) |
||
---|---|---|
Presentation |
6-10 marks A professional demonstration of your app covering how the app meets the needs of the scenario with the core requirements and any desirable requirements. |
0-5 marks A demonstration of your app that may fall short of explaining the core requirements of the app to the desired level |