LOLify — это развлекательное приложение для поиска и обмена мемами. Пользователи могут искать мемы на разные темы, сохранять их и делиться ими в Интернете.
Backlog:
- поиск мемов по фильтрам;
- добавление мема в избранное;
- скачивание мема на телефон;
- обмен мемом в соцсетях;
- генерация нового мема;
- удаление мема из избранного;
- смена цветовой темы.
Таблица memes содержит три столбца:
id_meme(основной ключ, автоинкремент);desc(уникальное описание, не NULL);url(уникальный URL, не NULL).
Навигация внутри приложения LOLify выглядит следующим образом:
- Intro Page (Стартовая страница) ведет к Meme Page (странице мемов);
- С Meme Page можно перейти на Generate Page (страницу генерации мемов), Favourite Page (страницу избранных мемов) и Settings Page (страницу настроек);
- Страницы Generate Page, Favourite Page и Settings Page имеют связи с Meme Page, позволяя переходить туда для дальнейших действий.
Архитектура приложения состоит из трёх основных компонентов:
- UI — фронтенд, построенный на Flutter, который отвечает за отображение экранов и взаимодействие с пользователем;
- Logic — представлена использованием Provider для управления состоянием и бизнес-логикой;
- Networking — здесь используются Humor API для получения данных с внешнего сервера и SQLite DB для хранения данных локально на устройстве.
UI взаимодействует с логикой через Provider, а логика обрабатывает запросы к API и базе данных.
Стек приложения включает следующие компоненты:
- API (Humor API): Для получения юмористического контента из внешнего источника;
- Local Storage (SQFlite/SharedPreferences): Для хранения данных локально, например, мемов или настроек;
- State Managment (Provider): Для управления состоянием приложения и связи с UI;
- Navigation (namedRoute): Для управления навигацией между экранами приложения;
- Native API (permission_handler): Для получения разрешений от устройства пользователя.
При первом запуске приложения открывается заставка приложения. При последующих запусках приложения заставка больше не появляется.
Пользователь может выбрать приложение в светлой или темной теме. Последняя установленная пользователем тема приложения сохраняется при последующих запусках.
На странице поиска пользователь может выбрать поиск мемов по ключевым словам и количеству мемов. Мемы оформлены в виде списка из карточек с описанием и изображением мема. С каждым мемом есть три действия: добавить мем в избранное, скачать мем на телефон, поделиться мемом в Интернете.
На странице генерации пользователь получает рандомный мем. Совокупные действия с мемом такие же, что и на странице поиска.
На странице избранного пользователь может видеть добавленные мемы. Выбранный мем может удалить. (скачать или поделиться также есть)
Когда приложение находится в горизонтальной ориентации, то список карточек мемов преобразуется в сетку по две колонки. (в случае ширины экрана больше, чем 600 пикселей)































