В этом курсе ты построишь с нуля современное full‑stack веб‑приложение для управления событиями: фронтенд на React + Vite и бэкенд на Fastify, с авторизацией через JWT, базой PostgreSQL и деплоем через Docker Compose (web+api+db) с Nginx‑прокси.
Что ты создашь
Приложение “События”, где пользователи могут:
- Зарегистрироваться и авторизоваться
- Просматривать список всех событий и открывать страницу конкретного события
- Создавать новые события (название, описание, адрес, дата/время, вместимость)
- Редактировать и удалять свои события (проверка прав владельца)
- Присоединяться к событиям и отменять участие
- Видеть “Мои события”:
- вкладка Созданные
- вкладка Участвую
- статистика по количеству
Технологии курса
- Frontend: React 19, Vite, TypeScript, React Router
- State management: Zustand
- UI: Tailwind CSS + shadcn/ui (Radix UI)
- Backend: Fastify, @fastify/jwt, @fastify/cors
- Валидация: Zod
- Безопасность: Argon2 (хэширование паролей)
- База данных: PostgreSQL 16 + TypeORM (entities/миграции)
- Деплой: Docker + Docker Compose + Nginx reverse proxy
Чему ты научишься
- Строить клиент‑серверную архитектуру (React SPA + Fastify API)
- Делать регистрацию/логин с JWT и защищать эндпоинты
- Проектировать сущности User / Event / EventParticipant и связи в Postgres
- Реализовывать правила доступа и бизнес‑логику:
- только владелец может редактировать/удалять событие
- нельзя вступить в своё событие
- контроль вместимости (capacity) и обработка конфликтов
- Писать валидацию через Zod и возвращать понятные ошибки клиенту
- Поднимать окружение и выкатывать проект на VPS через docker-compose
Для кого этот курс
Для разработчиков, знакомых с базами React/TypeScript, которые хотят:
- освоить full‑stack на реальном проекте
- понять связку Fastify + Postgres + ORM
- научиться деплоить приложение через Docker Compose и проксировать API через Nginx
- получить готовый проект в портфолио (CRUD + auth + участие в событиях)