top of page
Category:

Android App Development

Difficulty:

Beginner

Prerequisite(s):

Java or Kotlin, Android Studio, Firebase.

Skills to be Learned:

Firebase Authentication, Chart visualization

Survey App

The Survey App is a comprehensive Android application that empowers users to create, distribute, and analyze surveys with ease. Seamlessly manage surveys, collect valuable feedback, and gain insights through user-friendly interfaces.

The Survey App is a comprehensive Android application designed to facilitate the creation, distribution, and analysis of surveys. It caters to two distinct user roles: Survey Coordinators, responsible for defining and conducting surveys, and Survey Respondents, who complete surveys and view results. The app offers a user-friendly interface for both roles, allowing them to efficiently manage surveys and obtain valuable feedback. The core features include survey creation, survey conduction, and survey result visualisation.



Project Timeline:

The development of the Survey App will follow a structured timeline to ensure the successful implementation of its features and functionalities. The timeline is as follows:


1. Project Initiation (1 day):

  • Project planning and requirement analysis.

  • Setting up the development environment.


2. User Authentication (1 day):

  • Implement user authentication and account creation for Survey Respondents.

  • Ensure that Survey Respondents cannot complete the same survey multiple times.


3. Survey Definition (1 day):

  • Allow Survey Coordinators to define surveys with 1–10 multiple-choice questions.

  • Enable the addition of 1–5 mutually exclusive selections to each question.

  • Implement the ability to enter a title for the survey.

  • Add functionality for Survey Coordinators to save and cancel survey creation.


4. Survey Conducting (2 days):

  • Develop the capability for Survey Coordinators to open and close surveys.

  • Enable Survey Respondents to select and respond to survey questions.

  • Implement automatic unchecking of previously selected responses when a different choice is made.

  • Add features for Survey Respondents to cancel or submit their responses.

  • Display an error message if not all questions are answered before submission.


5. Survey Result Visualisation (2 days):

  • Create tabular representations of survey results, displaying response counts for each question's selections.

  • Implement graphical representations such as pie charts, bar charts, and column charts for both Survey Coordinators and Survey Respondents.


6. User Interface Refinement and Testing (2 weeks):

  • Polish the user interface and enhance user experience.

  • Conduct thorough testing to identify and fix any bugs or issues.



7. Documentation and Finalization (1 day):

  • Document the project, including user manuals and technical documentation.

  • Finalise the app for release.



Technologies Used:

  • Programming Language: Java or Kotlin for Android app development.

  • Database: SQLite or Firebase for storing survey data and user information.

  • Authentication: Firebase Authentication for user login and registration.

  • UI/UX Design: Android XML layouts for the user interface.

  • Chart Visualization: Use Android libraries or third-party libraries for chart generation.

  • Version Control: Git for code version control.

  • Development Environment: Android Studio for Android app development.



Learning Outcome:

Developing the Survey App will provide several valuable learning outcomes for developers:


  1. Android App Development: Gain hands-on experience in building Android applications, including user authentication, UI design, and data storage.

  2. Database Management: Learn how to manage survey data and user information in a database, understanding database schema design and CRUD operations.

  3. User Authentication: Implement user authentication and account management to secure the app's functionality.

  4. User Experience (UX) Design: Focus on creating an intuitive and user-friendly interface to enhance the user experience.

  5. Chart Visualization: Acquire knowledge of data visualization by incorporating various chart types to represent survey results.

  6. Project Planning and Management: Develop project management skills by adhering to a structured timeline and handling potential challenges during app development.

  7. Documentation Skills: Learn how to document the project effectively, aiding in future maintenance and collaboration.


By completing this project, developers will have a practical, full-featured app in their portfolio and a deeper understanding of Android app development and user-centric design.


bottom of page