Skip to content

Repository files navigation

Webinar Schedule App

Приложение для планирования вебинаров и сбора регистраций участников. Один администратор может создавать вебинары, пользователи могут регистрироваться на них.

Возможности

  • Публичная часть: список вебинаров, страница регистрации, добавление в календарь
  • Админ-панель: создание/редактирование вебинаров, просмотр участников, экспорт в CSV
  • Лимит участников: опциональное ограничение количества мест
  • Календарь: кнопки "Добавить в Google Calendar" и скачивание .ics

Технологии

  • Next.js 14 (App Router)
  • TypeScript
  • SQLite + Drizzle ORM
  • Tailwind CSS

Установка

1. Клонирование репозитория

git clone <repository-url>
cd webinar-schedule-app

2. Установка зависимостей

pnpm install

3. Настройка переменных окружения

cp .env.example .env.local

Отредактируйте .env.local и установите пароль администратора:

ADMIN_PASSWORD=your_secure_password

4. Инициализация базы данных

pnpm db:push

5. (Опционально) Заполнение тестовыми данными

pnpm db:seed

Создаст 4 вебинара и ~19 регистраций для демонстрации.

6. Запуск

pnpm dev

Приложение будет доступно по адресу http://localhost:3000

Использование

URL Описание
/ Список предстоящих вебинаров
/webinar/:id Страница вебинара с формой регистрации
/admin Админ-панель (требуется пароль)
/admin/webinars/new Создание нового вебинара

Скрипты

Команда Описание
pnpm dev Запуск в режиме разработки
pnpm build Сборка для продакшена
pnpm start Запуск продакшен-сборки
pnpm db:push Применить схему к БД
pnpm db:seed Заполнить тестовыми данными
pnpm db:studio Открыть Drizzle Studio

Структура проекта

src/
├── app/
│   ├── page.tsx                 # Главная (список вебинаров)
│   ├── webinar/[id]/            # Страница вебинара
│   ├── admin/                   # Админ-панель
│   └── api/                     # API роуты
├── components/                  # React компоненты
├── db/                          # Схема и подключение к БД
└── lib/                         # Утилиты

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages