Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 3.05 KB

File metadata and controls

36 lines (30 loc) · 3.05 KB

Team Project

Develop a Cross-Platform Flutter Healthy App

Description:

This is a team project designed for 3-4 students to collaborate on the development of a mobile application using Flutter. The project aims to provide hands-on experience with various aspects of app development, including asynchronous programming, network handling, testing, continuous integration and deployment (CI/CD), animations, theming, localization, and state management. The application should address a specific problem and demonstrate a range of features through a user-friendly interface.

Requirements:

  • Github organization with open repo and all team-members significant contribution. (1 point, but you need to make it anyway)
  • Maintain an up-to-date README file with (1 point, but you need to make it anyway):
  1. Screenshots and GIFs of the application.
  2. Detailed instructions for setup and usage.
  3. A list of features implemented in the application.
  • Implement asynchronous operations using 'async' and 'await' with either local storage or a remote API. (3 points)
  • Handle network connectivity issues, ensuring the app gracefully deals with the absence of network. If using an API, the application should handle retries or delays, and if using local storage, it should save the state for a restart. (3 points)
  • Develop and include both unit and widget tests to ensure code quality and functionality. (3 points)
  • Set up CI/CD pipelines for automated code formatting, linting, building, and deployment processes. (3 points)
  • Implement needed animations using Flutter's CustomPainter for a polished user experience. (3 points)
  • Support both light and dark themes to cater to different user preferences.
  • Use a proper state management solution (Provider or Riverpod) instead of setState for efficient and scalable code. (3 points)
  • As a bonus implement localization for Russian (RU) and English (ENG) to make the app accessible to a broader audience. (up to +3 points)
  • As a bonus, include integration or golden tests to further validate the application. (up to +5 points)

Final Presentation

  • Problem Statement: Clearly articulate the problem the application is designed to solve. (2 points)
  • Feature Demonstration: Provide a list of features with accompanying GIFs or videos showcasing the functionality. (2 points)
  • Architecture Diagram: Present a well-organized scheme of the project's architecture. (2 points)
  • Challenges and Solutions: Discuss the challenges faced during development and how they were overcome. (2 points)
  • Full Demo: Conclude with a full demo of the application, which can be in the form of a live presentation or a comprehensive video walkthrough.(2 points)

Additional Notes

  • Regular team meetings should be held to ensure smooth collaboration and consistent progress.
  • Use version control effectively, with clear commit messages and proper branching strategies.
  • Ensure that the app is responsive and provides a good user experience on different devices and screen sizes.
  • Document the codebase thoroughly to maintain clarity and ease future maintenance or handovers.