Один из учебных проектов второго курса HITs TSU.
Мобильное приложение-кинотеатр с функционалом коллекций, подборок, обсуждением и просмотром фильмов(стоит точнить, что приложение не использовалось в коммерческих целях, авторские права не нарушены, для всех фильмов, кроме Смешариков были использованы трейлеры).
Я работал с уже заготовленной API
Описание API(когда-то её отключат и ссылка не будет загружаться)
Auth Регистрация и получение токенаPOST /auth/register Регистрация
POST /auth/login Аутентификация в системе
POST /auth/refresh Обновление access token'a с помощью refresh token'а
Cover Обложка для приложения
GET /cover Получить информацию о фильме для обложки.
Movie Информация о киноновинках
GET /movies Получить список фильмов.
GET /movies/{movieId}/episodes Получить список эпизодов.
POST /movies/{movieId}/dislike Убрать фильм из подборки.
Collections Информация о коллекциях пользователя
GET /collections Список коллекций данного пользователя.
POST /collections Создать коллекцию.
DELETE /collections/{collectionId} Удаление коллекции
GET /collections/{collectionId}/movies Получить список фильмов в коллекции
POST /collections/{collectionId}/movies Добавить фильм в коллекцию
DELETE /collections/{collectionId}/movies Удаление фильма из коллекции
Tags Информация о тегах
GET /tags Список всех тегов
Episodes Информация о эпизодах
GET /episodes/{episodeId}/comments Получить список комментариев к эпизоду.
POST /episodes/{episodeId}/comments Добавить комментарий.
GET /episodes/{episodeId}/time Получить текущую позицию.
POST /episodes/{episodeId}/time Сохранить текущую позицию эпизода.
Chats Информация о чатах
GET /chats Список чатов, в которых участвует данный пользователь.
GET /chats/{chatId} Информация о чате.
GET /chats/{chatId}/messages Список сообщений чата.
POST /chats/{chatId}/messages Отправить сообщение.
History Информация об истории
GET /history История просмотров пользователя.
Preferences Информация о предпочтениях
GET /preferences Получить список предпочтений пользователя.
PUT /preferences Изменить предпочтения пользователя.
Profile Информация о профиле пользователя
GET /profile Получить информацию о пользователе
PATCH /profile Редактирование данных пользователя
POST /profile/avatar Загрузка фотографии
- Retrofit - обёртка с кодогенерацией над OkHttp, упрощающая взаимодействие с REST API
- OkHttp - Использовал WebSocket для работы чатов
- Lottie - Анимация в ErrorDialog и Like/Dislike
- Kotlin coroutines - Ассинхронная работа с интернет-запросами.
- Security crypto - для хранения токена пользователя в EncryptedSharedPreferences
- Room - Локальное сохранение и изменение картинки и названия коллекции.
- CardStackView - Слайдер, как в Tinder
- Glide - Загрузка фото через Интернет.
- Live чаты на веб-сокетах
- Single Activity
- MVVM
- Clean Architecture(далеко не идеальная, но за неимением времени пока что такая, в будущем планирую доделать)
- Загрузка фото из галереи/камеры
- Английская локализация
(извиняюсь за качество, ошибку нашёл, но api уже не работает:( )
Launch&Register | MainScreen | EpisodeScreen |
---|---|---|
Collections | CreateCollection | EditCollection |
---|---|---|
Compilation | ChatScreen |
---|---|