- State Management: Cubit (BLoC)
- работа с API: Dio, Freezed
- кэширование изображений: extended_image
- pull to reload с помощью RefreshIndicator
- пагинация: реализовано с помощью scrollController listener, который при скролле до maxScrollExtent, вызывает загрузку новой страницы гистов
- смена темы с помощью BlocProvider, конфигурация темы сохраняется локально с помощью SharedPreferences
- DI: GetIt
- тесты: bloc_test и mockito
- анимация: flutter_animate
- UI: аватар пользователя, название гиста, имя пользователя
- Пагинация
- Pull to reload
- UI:
- Аватар пользователя, название гиста, имя пользователя
- Список файлов, c отображением каждого файла, <= 5 строк
- Список коммитов
- При нажатии на файл, отображается полный файл
- Пагинация
- Pull to reload
- Вывести содержимое файла
- Работа в обычном и DarkMode