Deadline: 13th February 2021


You are tasked with designing and building an Android application that demonstrates your proficiency in skills. For this project, you should design an application that sufficient-ly demonstrate your knowledge and skills acquired in lab sessions.



13th February 2021, 11.59pm


For this task, you must design and implement your own Android application. You are free to choose your own ideas for this application. For the assignment, the following criteria will be considered for marking:

1. Creativity: You can consider creating novel solutions and / or distinct features to other existing / similar websites or applications.

2. Tools and Technologies used: Use Android SDK with Google Maps Android API or other APIs / web services to demonstrate your knowledge and skillset.

NOTE: DO NOT use commercial software and / or 3rd party packages / libraries. For ex-ample, using Butter Knife libraries or Adobe PhoneGap to create your application is not allowed.

Examples of Applications and Ideas that you may consider:

- A guide that allows users to keep track of their virtual marathon and share this information with pictures with the rest of their friends to encourage friends to do the same to take up the challenge. Any virtual marathon could be started by any individual and participants are welcomed to take on the challenge. Once completed, the status can be updated to completed and the completion status can be sent to the organizer to keep track of how many people took up the challenge.

- An application that will allow users to send in messages to group buy products around the neighbourhood to help out during this period. Should another user wishes to participate, a ticket will issued to the user and the number of items can be indicated for group buying. The items to be bought can be more than 1 item of multiple quantities. The users participating could be more than 1 user and there could be multiple groups. Any one who wishes to participate must pay down a deposit.



You are required to record a screencast to demonstrate the features of your application as well as explaining the code behind these key features. You will be awarded marks for those features demonstrated in the video.


1. Length of video should be between 8 to 10 minutes.

2. Demonstrate that your application in the video and how to use it.

3. Explain the features of your application and how those features meet your design requirements.

4. Explain the source codes that implement the features mentioned above.

5. Your voice recording must be clear for explanation purposes.

6. Video must be of high quality such that the codes can be viewed clearly. Video quality must be at least 720HD.

7. Upload your video to YouTube and provide the URL in your submission.

8. Ensure the link to your video and set it as public and unlisted.

Note: You may be asked to present and explain your work to the tutor.


You must also provide a link to the Github repository to allow academics to both view and test your code as well as to check for any plagiarism or collusion.


Your application should be developed using the native development tools and languages taught in the labs. If you make use of any code from other sources (tutorials, help sites, etc) this must be clearly indicated in your source code.

You should not share any of your assignment code with your fellow students. We use a sophisticated tool that can identify similarities between submissions. If these are detected both parties will be referred to the Academic Conduct Office accused of collusion.

You must make sure that the repository/video you submit are shared with academics. In other words, the repositories and videos you submit are not protected.


A final report should be submitted in Moodle (PSB) as a part of the final submission. The report should include the following sections with a detailed description of the activities undertaken.

Report should at least include the following:

- Cover page with name of the student, course code and course name, program details etc.

- Title of the project Content page

- Introduction

- Aims and Objectives of the project Functional / Non -Functional Requirements Mock-up Design

- Final design

- Test plan

- Discussion on the following:

- Version Control

- Layout and Design

- Data Persistence

- Programming Language

- Use of sensor/ hardware and APIs

- Comparison with other similar Apps, clearly identifying what is different in your application Reflection

- Conclusion

- References