📜 ⬆️ ⬇️

Writing an Android App for Movie Fans - Part 1 (Prototyping)



Good day, Habr!

It's no secret that Google recently approved Kotlin as the priority programming language for the Android OS. This and subsequent articles will talk about creating an application in this language.

Application Topics


An application can already be considered good if it solves a problem, which means it helps people. The following entry was found in my notes - notifications of new films in the cinema. In the applications I reviewed, such functionality was not found, and if it exists somewhere, please write in the comments.
')

Prototype


Prototyping allows you to determine the basic functionality. If the application already has analogues, you must first analyze them. Perhaps their authors have already decided the important issues that you are thinking about now.

Use Case Diagram


Define the required application functionality. First of all, the user will have to find new items, and this will require filters. After that, you will need to save the movies, which will be notified, which means you need to display this list. Now draw a Use Case diagram.



UX / UI Design


We outline the layouts of the screens using the UX / UI prototyping software, based on the created diagram. For this we use Mockplus, the basic functionality of the program is provided for free. Component design best practices are compiled here .

one23







Consider more elaborate layouts. All images are clickable.
  1. On the start page, the user can see all the news about which he will receive notifications. If the user does not want to receive, he will be able to click on the bell.
  2. On the tab you can find all the new products that match the wishes specified in the Settings tab, and add them to the list for notification.
  3. The Settings tab allows you to configure filters for searching for new products, namely IMDb rating and genres.


Architecture choice


We use the MVP architecture, i.e. Model-View-Presenter (model-presentation-presenter).
The views are Activity and Fragments. The model provides work with the server, and the presenter provides interaction between the presentation and the model.



Read more about this architecture here .

ER database model


The local database will cache the received responses from the server to reduce the frequency of requests and thereby reduce the load. Consider an ER chart.



The essence of Movie is responsible for storing general information about new products, the essence of Genre for genres, and Movie genres contains genres for each new item.

Conclusion


The next article will talk about application design and core logic.

Part 2 (Design)

Source: https://habr.com/ru/post/461059/


All Articles