尚未检测到更新。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.