尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Find your next game: discover and join pickup sports events worldwide on a map, follow athletes, share posts, with an AI event assistant. Next.js, Supabase, Mapbox, Claude.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Find your next game. PickupPro is a web app for discovering pickup sports games around the world, joining them, and connecting with other athletes.
Live demo: pickup-pro-one.vercel.app
| Area | Technology |
|---|---|
| Framework | Next.js 15 (App Router), React 19 |
| Styling | Tailwind CSS 4, Framer Motion, Lenis |
| Backend | Supabase – auth, Postgres with Row Level Security, storage, realtime |
| Maps | Mapbox GL JS |
| AI | Anthropic API (Claude) |
| Hosting | Vercel |
git clone https://github.com/Solventu/pickup-pro.git
cd pickup-pro
npm install
Copy .env.example to .env.local and fill in the values:
| Variable | Where it is used | Secret? |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Browser and server | No |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Browser and server | No (protected by RLS) |
NEXT_PUBLIC_MAPBOX_TOKEN | Browser (map) | No – restrict it to your domain in the Mapbox dashboard |
ANTHROPIC_API_KEY | Server only (chatbot, moderation) | Yes |
SUPABASE_SERVICE_ROLE_KEY | Server only (admin actions, saving posts) | Yes |
ADMIN_UID | Server only – the Supabase user id of the admin | Keep private |
Set the same variables in your Vercel project settings for production. Never commit .env.local (it is already in .gitignore) and never prefix a secret with NEXT_PUBLIC_.
In the Supabase dashboard open SQL editor and run these files in order:
supabase-rls.sql – Row Level Security policiessupabase-schema-fixes.sql – optional columns and cascading deletessupabase-security.sql – security hardening (see below)supabase-seed-events.sql – optional sample eventsIn supabase-rls.sql, replace the admin user id with your own before running it.
npm run dev
Open http://localhost:3000.
| Command | Description |
|---|---|
npm run dev | Development server (Turbopack) |
npm run build | Production build |
npm run start | Run the production build |
npm run lint | Lint with ESLint |
app/
page.js # home: events map, filters, event list
feed/ # social feed
athletes/[id]/ # athlete profile
post-event/ # create an event (admin)
login/, signup/ # authentication
api/
posts/ # create a post (validation + AI moderation)
moderate-post/ # live moderation check for the composer
chat/ # AI event assistant
admin/ # admin-only actions (verified on the server)
components/ # UI components (map, cards, modals, chatbot, ...)
lib/ # Supabase clients, auth, helpers, rate limiting
supabase-*.sql # database policies and migrations
/api/posts. After SUPABASE_SERVICE_ROLE_KEY is set, run the optional last step in supabase-security.sql so posts can only be created through that route.http(s) URLs are ever rendered as links.Found a security issue? Please contact the author privately instead of opening a public issue.
Erik – @Solventu