Shortform ads like snacks π πΏ, Snack Ads
Development Period: 2024.05.02 ~ 2024.06.06
You can easily upload a short video (no more than 1 minute) about your favorite restaurant at any time!
Funny short form ads can be liked and shared with your friends!
It's a fun and easy to use short form ad app! ππΏ
PM κΉμ ν | UXUI μ μ¬λ―Ό | DEV κΉνκΈ° | DEV κΆμΈν | DEV κΉνμ§ |
---|---|---|---|---|
@KSH-KOR | @woals00 | @hgkim215 | @sehan2709-cmis | @markFT39 |
π You can sign up and log in via Google Sign-in and email!
1οΈβ£ Shoot a simple shortform ad in under a minute!
π Check out the map to see what restaurants are near you!
π If there's a restaurant you want to try, give it a thumbs up!
π€ If you have a favorite restaurant you'd like to try with your friends, share it!
π€ You can see the videos you've uploaded and the videos you've liked on Profile!
MVC Pattern Description
-
SnackAds is developed using the MVC architecture. This architecture divides the application into three components - Model, View, and Controller - to enable efficient development and maintenance.
-
Model manages the shortform (ad video) and user data. The shortform data model includes the shortform's title, description, URL, and number of likes, while the user data model includes the user's profile and the shortforms they have liked. Firebase is responsible for storing and retrieving this data in the database.
-
View manages the user interface. The Home screen displays a list of Short Form ads, and the Play Ads screen plays the current turn of ads. The User Profile screen displays the user's information, and the Map screen displays the location of the store currently listed in the app.
-
Last week's work retrospective: Each team member gives a brief description of the work they completed in the past week. This is an opportunity to see how the project is progressing and share the results of the work completed.
-
This week's work plan: Each team member shares a list of tasks they'll be focusing on this week. This helps team members understand each other's work and plan for collaboration if needed.
-
Share obstacles and find solutions: Team members share any problems or obstacles they've encountered in their work, and work together to find solutions. This is essential for the smooth progress of the project.
-
Gather requirements: Identify the goals and needs of the project. This can be done through customer needs, market research, internal goals, etc.
-
Define work items: Based on the requirements gathered, define specific work items. Each item should be small enough that one person or a small team can complete it within one sprint.
-
Set priorities: Determine the priority of the work items. This is done by considering the project's goals, customer needs, technical difficulty, etc.
-
Organize and update the backlog: Review the backlog regularly as the project progresses and add, modify, or delete items as needed.
-
Iterative and incremental development: Break your project into smaller steps, each of which produces a viable product. This allows for continuous improvement and adaptation.
-
Openness to change: Recognize that goals and requirements may change during the course of a project, and have the flexibility to respond.
-
Close collaboration among team members: Emphasize communication and cooperation, and clarify the roles and responsibilities of each team member so they can support each other and work toward a common goal.
-
First, we created a Snack Ads Organization and invited everyone on the team to join it.
-
Under that organization, we created a Snack Ads flutter project, and each developer forked that project and worked in their own repository. We found that this approach significantly reduced the number of conflicts that arose during collaboration.
-
When sending pull requests, we made sure that the other developer reviewed the code and went through a code review process, rather than just merging it themselves. This ensured that the developers were constantly sharing each other's code as they developed.