OpenSakura
MekaHime's first AI companion, now open source. 26 emotions, her real voice, real-time replies and memory, running on your own PC. Discord mode coming soon.
A small book club — read together, meet up, talk about it.
Translation pending
SocialTypeScript · CSSGitHub @annabershakOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
book club register web site
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Стек: Next.js + Supabase (база данных) + Stripe (оплата 5€) + Vercel (хостинг). Всё бесплатно на старте (пока трафик небольшой).
supabase-schema.sql из этого проекта и нажми Run.
Это создаст таблицы books и registrations и добавит 3 тестовые книги
(Ольга, Белые ночи, Мемуары гейши) — потом отредактируешь под себя прямо
в таблице Supabase (Table Editor) или через SQL.Project URL → это NEXT_PUBLIC_SUPABASE_URLanon public key → это NEXT_PUBLIC_SUPABASE_ANON_KEYservice_role key → это SUPABASE_SERVICE_ROLE_KEY (держи в секрете! только на сервере)sk_test_... для теста,
sk_live_... после активации боевого режима) → это STRIPE_SECRET_KEY.book-club-app) к себе на GitHub в новый репозиторий:
cd book-club-app
git init
git add .
git commit -m "init"
# создай пустой репозиторий на github.com, затем:
git remote add origin https://github.com/ТВОЙ_ЛОГИН/book-club-app.git
git push -u origin main
.env.example
(кроме комментариев), кроме STRIPE_WEBHOOK_SECRET — его добавим следующим шагом.
NEXT_PUBLIC_SITE_URL укажи как будущий адрес, Vercel покажет его после
первого деплоя, например https://book-club-app.vercel.app — впиши его и
пересохрани переменные (если поменял после первого деплоя, придётся
передеплоить: Deployments → ⋯ → Redeploy).https://ТВОЙ-АДРЕС.vercel.app/api/webhookcheckout.session.completed.whsec_...) →
это STRIPE_WEBHOOK_SECRET. Добавь его в Environment Variables в Vercel
и сделай Redeploy.После оплаты сайт отправляет письмо с датой встречи, книгой и ссылкой на WhatsApp-группу — через твою личную почту Gmail по SMTP (бесплатно, без своего домена; лимит 500 писем/день, книжному клубу более чем достаточно).
book club site.abcd efgh ijkl mnop — это
GMAIL_APP_PASSWORD (не путать с обычным паролем от почты).GMAIL_USER — сама почта Gmail, с которой будут уходить письма.WHATSAPP_GROUP_URL — ссылка-приглашение в группу клуба (Group info →
Invite to group via link в WhatsApp).GMAIL_USER, GMAIL_APP_PASSWORD и WHATSAPP_GROUP_URL
в Environment Variables в Vercel, сделай Redeploy.4242 4242 4242 4242, любая будущая дата, любой CVC.registrations
появится запись со статусом paid. Счётчик мест на главной уменьшится.
На указанный email должно прийти письмо-подтверждение.https://ТВОЙ-АДРЕС.vercel.app/admin — вход по паролю
ADMIN_PASSWORD, который ты задал в переменных окружения. Там видно
все имена, телефоны и статус оплаты.Проще всего через Supabase → Table Editor → books → Insert row:
title — название книгиevent_date — дата в формате ГГГГ-ММ-ДДdescription — короткое описание (необязательно)capacity — сколько местprice_cents — цена в центах (500 = 5€)В Stripe пройди верификацию бизнеса (Activate payments), переключишься
на live-ключи (sk_live_...) — обнови STRIPE_SECRET_KEY в Vercel и создай
новый webhook уже в Live mode (тестовый и боевой webhook — разные).
npm install
cp .env.example .env.local # заполни значениями
npm run dev
Для проверки вебхука локально нужен Stripe CLI (stripe listen --forward-to localhost:3000/api/webhook), но для реального использования это не
обязательно — webhook нужен только на задеплоенном сайте.