2026 · Archive · Tutor CMS
Fox English Academy
A private tutor’s site where every string, price, news item and SEO tag is editable from the CMS.
- Next.js 14
- styled-components
- MUI
- NestJS 10
- TypeORM
- PostgreSQL 16
- Telegram Bot API
- NestJS modules
- 20
- verbs on every module
- 5
- soft-deleting entities
- 17
- migrations
- 11
What I walked into
A private tutor who needed to change every string, price, news item and SEO tag without calling a developer.
Every new kind of content risked a new admin screen.
What I changed, and why
The same five verbs everywhere
20 NestJS modules scaffolded from templates all expose the same five verbs over 17 soft-deleting entities and 11 migrations.
One table, one form
The admin panel drives every entity through one generic table and one generic form.
Moderation from Telegram
A new review posts to Telegram with an inline button that verifies it, so the same route answers both the admin panel and the bot.
Adding a content type is a scaffold plus a migration, with no new UI.
Where it landed
Every string, price, news item and SEO tag is editable, across 17 entities and 11 migrations.
Reviews are moderated from Telegram with one button, and there is no moderation screen at all.