Онлайн сервис для прослушивание аудио-книг
Проект выполнен в рамках дисциплины "Прикладное программирование на TypeScript" студентов 2 курса Уральского федерального университета имени первого Президента России Б. Н. Ельцина.
- Дизайн сервиса в Figma
- Документация для API
- Есть документация Swagger, адрес при разворачивании - {host}/docs
cd frontend
npm install
ng serve
ng build
cd backend
npm install
npm run start
npm run build
Общая оценка получается исходя из следующих пунктов
-
Техническая часть (максимум 60 баллов)
-
0 - 40:
- ...
- 3 - 4 реактивные формы + форма авторизации + кэш
- 2 - 3 функциональных модуля
- lazy-loading функциональных модулей (роутинг)
- Простое внедрение зависимостей
- Использование свойств с декораторами @Input @Output
- Базовое использование RxJS
- Реализован основной функционал приложения
-
40 - 60:
- Использование паттерна "Фабрика"
- Reusable компоненты
- Передача параметров в роуте
- Реализация Route Guards
- Строгая типизация и отсутствие any
- 1-2 кастомная атрибутивная директива
- 1-2 кастомных пайпы
- Использование свойств с декораторами @ViewChild и @ViewChildren
- Запросы на сервер
- Использование общего code-style (настройка eslint)
-
60 - 80:
- MVVM
- Продвинутое использование DI (использование токенов, useFactory)
- DRY
- Хлебные крошки | Breadcrums
- Кастомная структурная директива
- Обработка ошибок. Global error handler
- Динамический рендер
- Использование @HostListener
-
80 - 100:
- SOLID
- Глобальный сервис событий
- Адаптивность
- Скелетоны
- Angular animations
-
-
Оценка куратора (максимум 40 баллов) Куратор следит за выполнением вашего проекта и выставляет баллы.
На оценку влияют: слаженность команды, процессы взаимодействия, результаты код-ревью, настройка инфраструктуры, отзывчивость приложения, удобство использования, общий размер функциональности.
Приложения представляет собой сервис для прослушивания аудио-книг, где пользователь может:
- Регистрироваться и авторизоваться
- Просматривать все книги
- Просматривать авторов
- Слушать книгу по главам
- Добавлять книгу на "Книжную полку"
- Приложение должно быть написано с использованием Angular (version 16+)
- Использование дополнительных библиотек при согласовании с куратором.
- Демонстрация прогресса куратору каждую неделю (или по договорённости с куратором) в установленное время
- Если приложение будет задеплоено (можно без домена, без https), то вы получаете дополнительно 5 баллов.