返回作品集
FitRoom Experience 首页:深色页眉上有白色 FitRoom 标志、Home、Services、Schedule、Memberships、About us 和 Contact 链接、语言链接“Ελληνικά”以及橙色“Sign in”按钮;下方是一张偏暗的场馆照片——蓝色灯光照亮的刨花板墙前,一个黑色深蹲架架着杠铃,上方是天花板上的攀爬梯;照片上是标题“Training becomes experience”、一句“Functional training, Clinical Pilates and holistic wellbeing in Serres.”,以及两个按钮:橙色的“Start here”和描边的“See the schedule”。
在新标签页中打开 fitroomgymexp.gr

FitRoom Experience — 健身房网站与会员平台

项目概述

FitRoom Experience 既需要一张对外的面孔,也需要支撑生意运转的软件,于是这个站点两者兼具。前台是一张双语单页——hero、十一项服务、实时周课表、关于区块与联系方式——外加一个会员页,承载着从经营者印刷价目表照搬来的二十种套餐与九项优惠。登录之后,会员无需自设密码即可注册,从可向前推进整整一个季度的课表中预订,课满时进入候补名单,设定一条会自我续期的固定每周预约,查看已付与欠款,并可导出或删除自己的数据。经营者拥有十七个后台界面:客户、套餐、课程类型、排程、停课、优惠、页面内容、会员卡、收款、欠款及其账龄、点名册、供门口平板使用的签到终端、带重发功能的邮件日志,以及统计——营收、上座率热力图、按课程族群的出勤、即将到期的会员卡与 CSV 导出。十九套双语邮件模板跑在内置的 PHPMailer 上,带重试退避。底层是纯 PHP 8.5 搭配 MySQL 的四十四张表,以希腊语为准语言:没有框架,没有 Composer,没有构建步骤。

挑战

健身房课表不是日历。一节课有容量、有候补名单、有支付它的次数额度,还有可能取消它的停课安排,而经营者需要这一切都出现在她本就在用的那一块屏幕上。此外,旧网站上有 158 名会员,必须从第一天起就能登录。

解决方案

额度、预订与金钱是一个模型而非三个:取消一节课会连同它的账目一起带走,退款则会顺带完成作废。周期性预订的窗口由预订视野推导而来,而不是单独的一项设置,因此两者不会各走各的。旧密码以包装形式迁移而非明文存储,原有会员无需重置即可登录。希腊语为准语言,每一次客户搜索都会折叠重音与词尾 sigma,让一个名字无论怎么输入都能被找到。