FitRoom Experience — 健身房网站与会员平台
5周
|
设计师 & 全栈开发者
FitRoom Experience 既需要一张对外的面孔,也需要支撑生意运转的软件,于是这个站点两者兼具。前台是一张双语单页——hero、十一项服务、实时周课表、关于区块与联系方式——外加一个会员页,承载着从经营者印刷价目表照搬来的二十种套餐与九项优惠。登录之后,会员无需自设密码即可注册,从可向前推进整整一个季度的课表中预订,课满时进入候补名单,设定一条会自我续期的固定每周预约,查看已付与欠款,并可导出或删除自己的数据。经营者拥有十七个后台界面:客户、套餐、课程类型、排程、停课、优惠、页面内容、会员卡、收款、欠款及其账龄、点名册、供门口平板使用的签到终端、带重发功能的邮件日志,以及统计——营收、上座率热力图、按课程族群的出勤、即将到期的会员卡与 CSV 导出。十九套双语邮件模板跑在内置的 PHPMailer 上,带重试退避。底层是纯 PHP 8.5 搭配 MySQL 的四十四张表,以希腊语为准语言:没有框架,没有 Composer,没有构建步骤。
技术栈
PHP 8.5
MySQL 9.5
Vanilla JS
GSAP
PHPMailer
Stripe
i18n (EL/EN)
SEO
挑战
健身房课表不是日历。一节课有容量、有候补名单、有支付它的次数额度,还有可能取消它的停课安排,而经营者需要这一切都出现在她本就在用的那一块屏幕上。此外,旧网站上有 158 名会员,必须从第一天起就能登录。
解决方案
额度、预订与金钱是一个模型而非三个:取消一节课会连同它的账目一起带走,退款则会顺带完成作废。周期性预订的窗口由预订视野推导而来,而不是单独的一项设置,因此两者不会各走各的。旧密码以包装形式迁移而非明文存储,原有会员无需重置即可登录。希腊语为准语言,每一次客户搜索都会折叠重音与词尾 sigma,让一个名字无论怎么输入都能被找到。
图片集
服务 — 十一项课程,从临床普拉提到自由训练
周课表 — 实时可用名额与预订
会员方案 — 二十种套餐与九项优惠
关于 — 场馆背后的数字
希腊语为准语言 — 同一张课表,另一种语言
会员注册 — 无需在入口自设密码