Проект переведён на Next.js и готов для деплоя в Vercel из GitHub-репозитория.
- Вход и регистрация только через Discord OAuth.
- При входе создаётся профиль с ником и аватаром из Discord.
- Если ник
nertin0, пользователь автоматически получает рольadmin. - Общая база данных PostgreSQL (данные видны всем, не локально в браузере).
- Публичные голосования: создаёт админ, голосуют все авторизованные.
- Голосования министров: отдельный раздел, доступ только для
ministerиadmin. - Варианты голоса:
За,Против,Воздержаться. - Для пользователей голосование анонимно; админ видит, кто как проголосовал.
- После дедлайна статус выставляется автоматически:
За > 50%от всех голосов =>Отправлено на рассмотрение.- иначе =>
Отклонено.
- Реестр решений: добавлять могут админ и министры.
- Админка для назначения роли
министр.
- Страницы:
pages/ - API-роуты:
pages/api/ - Клиентский скрипт UI:
public/app.js - Стили:
styles/globals.css - HTML-шаблоны дизайна:
templates/*.html
Скопируйте .env.example и заполните значения:
DISCORD_CLIENT_IDDISCORD_CLIENT_SECRETDISCORD_REDIRECT_URIPOSTGRES_URLPOSTGRES_PRISMA_URLPOSTGRES_URL_NON_POOLINGPOSTGRES_USERPOSTGRES_HOSTPOSTGRES_PASSWORDPOSTGRES_DATABASE
В Discord Developer Portal добавьте Redirect URL:
https://YOUR_DOMAIN.vercel.app/api/auth/callback
npm install
npm run dev- Загрузите проект в GitHub (без
node_modules). - Импортируйте репозиторий в Vercel.
- Подключите Vercel Postgres.
- Добавьте env-переменные.
- Deploy.
Таблицы БД создаются автоматически при первом обращении к API.