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:
Android App Development:Â Gain hands-on experience in building Android applications, including user authentication, UI design, and data storage.
Database Management:Â Learn how to manage survey data and user information in a database, understanding database schema design and CRUD operations.
User Authentication:Â Implement user authentication and account management to secure the app's functionality.
User Experience (UX) Design:Â Focus on creating an intuitive and user-friendly interface to enhance the user experience.
Chart Visualization:Â Acquire knowledge of data visualization by incorporating various chart types to represent survey results.
Project Planning and Management:Â Develop project management skills by adhering to a structured timeline and handling potential challenges during app development.
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.