Перейти к содержимому
Catshredia
← К портфолио

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)