尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Management software for climbing gyms: a front desk app for staff and a dashboard for members.
Built with Next.js, Supabase (database and authentication) and Prisma.
The product page is live at: https://stealthstartup-455.github.io/elevate/.
git clone https://github.com/StealthStartup-455/elevate.git
cd elevate
npm install
cp .env.example .env
npm run db:start
The first db:start downloads Docker images and can take several minutes. When it finishes, it prints the local Supabase details. Copy the publishable key (called the anon key in older CLI versions) into .env as NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY.
For real Supabase logins, also copy the secret key into .env as SUPABASE_SECRET_KEY and set SEED_LOGIN_PASSWORD to anything 6+ characters. The seed then creates two logins with that password: [email protected] (front desk) and [email protected] (a member). These live only in your local Supabase. Leave both unset and the seed skips them; the demo login still works under npm run dev. The (i) next to "Log in" on the login screen shows a testing guide and every test login by kind of user (the front desk, the demo climbers by waiver and membership, named climbers, and these two real logins) with the username and password to type.
Then start the app:
npm run db:migrate
npm run db:seed
npm run dev
Open http://localhost:3000.
| Command | Description |
|---|---|
npm run dev | Start the development server |
npm run lint | Check code style |
npm run build | Create a production build (also run by CI) |
npm test | Unit tests (Vitest) |
npm run test:db | Database tests; needs the local database running |
npm run test:e2e | End to end tests (Playwright): the demo flow, and automated accessibility checks (axe, WCAG 2.1 AA) on every main screen in light and dark mode; needs npm run build and npm run db:seed first |
npm run db:start | Start local Supabase |
npm run db:stop | Stop local Supabase |
npm run db:migrate | Create and apply a migration after editing schema.prisma |
npm run db:seed | Load sample data from prisma/seed.ts |
npm run db:studio | Browse the database in the browser |
npm run staging:setup | Set up or refresh a hosted demo on Supabase and Vercel (see DEPLOYMENT.md) |
Before the first npm run test:e2e, install the test browser once: npx playwright install chromium. CI runs all three test suites on every pull request.
How the database works, its tables and how to change them: prisma/DATABASE.md.
How the hosted staging demo is deployed, migrated, reseeded and rolled back: DEPLOYMENT.md.
How the app looks and behaves (colors, type, spacing, hover rules, components): STYLE_GUIDE.md. With npm run dev running, open http://localhost:3000/style-guide to see it live.
All rights reserved; see LICENSE. The repository is public so the team and course staff can review it, but that grants no right to copy or reuse the code. Contact the team before reusing anything.
prisma/ Database schema, migrations and seed data
supabase/ Local Supabase configuration
src/
app/ Pages and routes
login/, join/ Public pages
desk/ Staff front desk (login required)
me/ Member dashboard (login required)
style-guide/ Live style guide
features/ Business logic, one folder per feature
auth/ Logins, roles and permissions
check-ins/ Scanning, check-in and green/red status
climbers/ Profiles, memberships and incidents
pos/ Desk POS: selling passes, memberships, rentals and chalk
waivers/ CSV import, matching and duplicate checks
events/ Calendar, wall resets, bookings and announcements
analytics/ Gym busyness and session stats
components/ui/ Shared UI components and the theme (theme/tokens.ts holds every design value)
lib/ Database and Supabase clients, shared helpers
proxy.ts Redirects logged-out users away from /desk and /me
Each feature folder has a README describing what it covers and who owns it.
src/app/ stay thin. They call into src/features/ and never query the database directly.actions.ts, queries.ts, components/ and *.test.ts.gymId.dev and open pull requests into dev. release and main only receive releases and hotfixes.See CONTRIBUTING.md for the full workflow.