- Домашние задания
- Курсовая работа
- Экзамен
Для допуска к экзамену необходимо сдать домашние и курсовую работы.
Разработка кроссплатформенного (Web, Android, iOS) приложения с использованием сервисов Firebase Authorization, Firebase Realtime Database, Firebase Storage, Firebase Cloud Messaging, а также с возможностью обработки данных на собственном сервере (PHP или Node.js).
Приложение позволяет авторизованным пользователям создавать и редактировать документы (текст или изображение) хранимые в "облаке". Возможность распознавания текста при загрузке изображения. Отправка пуш уведомления по завершении распознавания текста.
Возможности приложения:
- Авторизация пользователя на основе Firebase Authorization по email и одной из соц.сетей** (Facebook/Google). Выход из аккаунта. Удаление аккаунта. Сохранение сессии.
- Проверка пользовательского токена на собственном сервере (PHP или Node.js)с использованием JWT.
- Создание/редактирование/удаление документов (Заголовок, Дата, Текст, Ссылка на файл) на основе базы данных Firebase Realtime Database
- Загрузка файлов (изображение) в хранилище Firebase Storage. Ссылка на загруженный файл сохраняется в поле базы данных "Ссылка на файл"
- Преобразование загруженного изображения в черно-белое (в дальнейшем распознавание текста). Изображение загружается с Firebase Storage на собственный сервер, изображение преобразуется и отправляется на Firebase Storage с перезаписью файла.
- После преобразования изображения пользователю отправляется пуш уведомление**.
- Для клиентской части использовать только официально поддерживаемые технологии Firebase, т.е. Javascript или REST Api
- Для серверной части использовать PHP или Javascript (Node.js)
- Код приложения должен быть минимально необходимым на основе документации, без использования комплексных фреймворков, напр. Angular, Lavarel, jQuery и т.д.
- Введение (постановка задачи, что планируется реализовать в ходе работы)
- Проектирование (схемы и диаграммы: базы данных, алгоритмов, сценарии)
- Структурная схема проекта (Пример структурной схемы)
- Схема БД (Пример схемы бд)
- Диаграмма потоков данных приложения и всех сервисов (Пример диаграммы потоков данных)
- Клиентская часть, интерфейс (обязательно диаграммы сценариев использования для экранов интерфейса / use case диаграммы Пример use case)
- Авторизация (обязательно блок-схема алгоритма авторизации Пример блок-схемы алгоритма )
- Проверка пользовательского токена JWT (обязательно блок-схема алгоритма)
- Обработка изображения на сервере (обязательно блок-схема алгоритма)
- Заключение (итоги работы, план доработки/улучшения программы)
- Приложение. Листинг программы (исходный код клиентской и серверной частей)
- Авторизация пользователя по email
- Проверка пользовательского токена с использованием JWT
- Создание документов
- Загрузка файлов
- Преобразование загруженного изображения
- **Отправка пуш уведомления (на повышенную оценку)
- **Авторизация через Google или Facebook (на повышенную оценку)