← К портфолио
CinemaProject
.NET.NET 8Blazor WebAssemblyPostgreSQL
Описание
CinemaProject — полнофункциональное веб-приложение каталога фильмов на стеке .NET 8 + Blazor WebAssembly + PostgreSQL. Реализует разделение ролей (admin/client), JWT-аутентификацию, REST API, систему рейтингов (1–10), загрузку изображений и адаптивный интерфейс.
Проблема
Необходимо создать масштабируемую систему управления фильмами с:
- Безопасной аутентификацией и разграничением прав доступа
- Возможностью оценки контента пользователями с защитой от повторных оценок
- Удобным админ-интерфейсом для управления фильмами, жанрами и пользователями
- Поддержкой поиска, фильтрации и сортировки без ущерба для производительности
Решение
- Backend: ASP.NET Core Web API с JWT-аутентификацией, ролевой авторизацией, Entity Framework Core и валидацией данных
- Frontend: Blazor WebAssembly с компонентным подходом, адаптивной вёрсткой на Bootstrap 5 и централизованными сервисами API
- База данных: PostgreSQL с нормализованной схемой, внешними ключами и каскадным удалением
- Безопасность: Хэширование паролей, проверка прав на уровне endpoints, ограничение загрузки файлов
- Документация: Swagger для API, подробный README с инструкциями по развёртыванию
Результат
- Рабочее приложение с полным циклом: регистрация → вход → просмотр/оценка фильмов → админ-панель
- Разделение ответственности: клиенты оценивают контент, админы управляют каталогом
- Гибкая фильтрация и поиск по каталогу с сортировкой по рейтингу/дате/названию
- Готовность к развитию: модульная архитектура позволяет легко добавлять отзывы, списки просмотра, рекомендации
- Образовательная ценность: проект демонстрирует современные практики .NET-разработки (Clean Architecture, JWT, WASM, EF Core)