1 год назад
История
README.md
ТЗ DEMO spbgasu
Описание проекта:
Следует разработать простое приложение со страницей авторизации и сервисом Вуз в лицах. Все нужные референсы и стили указаны в проекте приложения Figma. Единственные отличия с макетом, это положение кнопки поиска в шапке приложения, а не среди нижних панелей.
Stack:
- Android Studio - среда разработки.
- Flutter - кроссплатформенный фреймворк.
- Dart - скриптовой язык программирования.
- Hive - нереалиционная база данных в формате отображения. Пример
- Dio - библиотека для выполнения запросов. Работает в связке с json_serializable, json_annotation, build_runner.
Древо проекта
- /lib:
- /src
- /models - Модели данных.
- /services - Сервисы, которые взаимодействуют с внешними API или базами данных.
- /utils - Служебные функции или классы.
- /widgets - Повторно используемые виджеты.
- /components - компоненты и виджеты, которые имеют состояние.
- /views - все статичные компоненты пользовательского интерфейса вашего приложения. Они не должны отвечать за внутреннюю логику.
- /global - компоненты и фабрики, которые могут использоваться внезапно в любой части программы.
- /factories - фабрики для получения готовых шаблонов.
- /components - вспомагательные компоненты
- main.dart
- /src
Ветки разработки:
-
feature/global_info:
- factories
- message_factory.dart - класс со статичными методами для получения разных снейкбаров с ошибками и уведомлениями и обычных уведомлений. Возвращает имплементации следующих компонентов-интерфейсов:
- components/messages
- error_message.dart - всплывающее окно с ошибкой.
- snake_message.dart - всплывающее простое уведомление.
- info_message.dart - всплывающее информирующее уведомление.
- question_message.dart - всплывающее окно с вопросом или подтверждением.
- error_message_builder.dart - билдер окна с ошибками.
- info_message_builder.dart - билдер уведомлений.
- question_message_builder.dart - билдер окна с вопросом или подтверждением.
- snake_message_builder.dart - билдер окна с простым уведомлением.
- factories
-
feature/global_inter:
- factories
- button_factory.dart - класс со статичными методами для получения кнопок.
- pills_factory.dart - класс со статичными методами для получения ссылок, свичей и остальных элементов интерактива.
- factories
-
feature/global_content:
- factories
- icons_factory.dart - класс со статичными методами для получения иконок. Может быть адаптером для внешней библиотеки или подтягивать внутренние svg.
- label_factory.dart - класс со статичными методами для получения заголовков и разной типографии. Может быть адаптером для внешней библиотеки или подтягивать внутренние svg.
- components/const
- COLORS.dart - класс с публичными константными переменнами, хранящими цвет.
- factories
-
feature/login_page:
- views
- login_view.dart - класс страницы логина.
- services
- login_service.dart - класс обработки запросов для логина.
- components/forms
- login_form.dart - класс реагирующий на действия пользователя.
- models
- user_model.dart - класс сущность данных о пользователе
- views
-
feature/main_page:
- views
- main_view.dart - главный класс страницы, который будет использоваться в application.dart.
- components/bars
- main_page_header_app_bar.dart - верхнее меню, возможно будет app_bar.
- main_page_footer_tabs_bar.dart - нижнее меню maybe tabs bar.
- components/containers
- main_page_container.dart - контейнер использующий классы с суффиксом “frame” взависимости от state.
- views
-
feature/faces_and_deps:
- components/frames
- faces_and_deps_frame.dart - класс страница вуз в лицах состоит из статичного верхнего свича и контента.
- widgets/face
- faces_letters_list.dart - страница при сборе по фамилии с алфавитным скроллом.
- faces_letter.dart - блок для одной буквы .
- face.dart - блок для одной буквы .
- widgets/deps
- deps_list.dart - нижняя часть страницы при сборе по кафедре.
- dep_block.dart - блок для одной кафедры.
- dep_header.dart - шапка блока кафедры.
- dep_persons_list.dart - список сотрудников кафедры.
- models
- person_in_faces_model.dart
- person_in_deps_model.dart
- components/frames
-
feature/person
- widget/person
- person_modal.dart - страничка сотруднинка. Показывается как нижнее модальное окно. Обратите внимание на то, что кнопка Подробнее всегда остается внизу. То есть нужно разбить страничку на 3 части и раздвигать середину.
- person_header.dart - блок с фотографией ФИО и должностью.
- person_map_buttons_list.dart - компонент с кнопками-ссылками на карту гасу и на google maps.
- person_body.dart - блок с факультетом, и кнопками.
- person_footer.dart - блок с подробнее и лайками и избранным.
- models
- person_model.dart
- widget/person
-
feature/network
- network_service.dart - сервис по отправке запросов.
- url_builder.dart - класс строитель запроса.
- …_converter.dart - классы конвертеры из json в соответствующие модели:
- user_model.dart
- person_model.dart
- person_in_faces_model.dart
- person_in_deps_model.dart
Поллезные ссылки:
Конвейеры
0 успешных
0 с ошибкой