尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Живая фотостена для мероприятий: свадеб, дней рождения, корпоративов, концертов. Организатор создаёт событие и получает QR-код. Гости сканируют его телефоном и загружают фото без регистрации, а снимки сразу появляются на общей стене, которую можно вывести на экран или проектор.檢視完整 README ↗
Живая фотостена для мероприятий: свадеб, дней рождения, корпоративов, концертов.
Организатор создаёт событие и получает QR-код. Гости сканируют его телефоном и загружают фото без регистрации, а снимки сразу появляются на общей стене, которую можно вывести на экран или проектор.
Сайт: https://eventwall00.vercel.app
Телефон / браузер
│
▼
Vercel — frontend (Next.js) frontend/
│ REST API + SSE
▼
Render — backend (NestJS) backend/
│
▼
Supabase — PostgreSQL + хранилище фото
| Часть | Технологии | Подробности |
|---|---|---|
frontend/ | Next.js (App Router), React, TypeScript, Tailwind CSS v4 | frontend/README.md |
backend/ | NestJS, TypeScript, Prisma, PostgreSQL, JWT, Google OAuth | backend/README.md — API, авторизация, команды |
| Деплой | Supabase → Render → Vercel | DEPLOY.md — пошагово |
QR-код события рисуется прямо в браузере из ссылки гостя (/e/{slug}), поэтому показывается сразу,
даже пока сервер просыпается.
Нужен Node.js 24+.
# 1. Бэкенд — http://localhost:8000/api
cd backend
npm install
cp .env.example .env # заполнить секреты, ADMIN_EMAIL и ADMIN_PASSWORD
npm run db:local # локальная база PostgreSQL
npm run db:migrate:dev
npm run db:seed -- --demo # админ + демо-данные
npm run start:dev
# 2. Фронтенд — http://localhost:3000 (в другом терминале)
cd frontend
npm install
cp .env.example .env.local
npm run dev
С телефона в той же Wi-Fi сети сайт открывается по IP компьютера: http://192.168.x.x:3000.
Пока компьютер выключен или спит, локальная версия, конечно, не работает — для этого есть версия на Vercel.
Локальная база и база сайта — разные. Аккаунты, созданные локально, на сайте не существуют: там нужно зарегистрироваться заново. Админ на сайте создаётся из
ADMIN_EMAIL/ADMIN_PASSWORDв настройках Render (Environment) при первом запуске; позже пароль из переменной уже не перезаписывается.
git push в ветку main — Vercel и Render сами пересоберут проект.
Бесплатный сервер Render засыпает после 15 минут без запросов, и первый запрос после этого идёт около минуты.
Чтобы этого не было, внешний монитор (UptimeRobot или cron-job.org) каждые 5 минут обращается к
https://eventwall-api.onrender.com/api/health. Заодно это не даёт бесплатному Supabase уйти на паузу.
Если сервер всё же уснул, сайт при открытии сразу отправляет фоновый запрос к /api/health
(WakeApi.tsx), и сервер начинает просыпаться, пока посетитель читает страницу.
├── frontend/ сайт (Next.js)
├── backend/ API (NestJS + Prisma)
├── render.yaml настройки сервиса на Render
├── DEPLOY.md инструкция по деплою
└── .github/workflows/ пинг сервера, чтобы он не засыпал