Custom software · Aesthetic, skin and hair clinic

Shaylin aesthetic clinic: online booking, a specialist magazine and one admin panel

A complete platform for the Shaylin aesthetic clinic on .NET 10 and Next.js: booking by treatment, practitioner and Jalali calendar, a before-and-after gallery, a magazine with a page builder, an installable PWA with Web Push, and one admin panel.

Client
Shaylin aesthetic clinic
Industry
Aesthetic, skin and hair clinic
Year
2025
Status
Live
Visit the site
  • Discovery and analysis
  • UX and UI design
  • Software architecture
  • Front-end development
  • Back-end and API development
  • Database design
  • Third-party integrations
  • Technical SEO
  • QA and testing
  • Support and ongoing development

The result, in numbers

PWA
installable, with Web Push

appointment reminders without an SMS bill

24/7
booking without a phone call

The challenge

An aesthetic clinic has two problems at once, and few people take both seriously.

First, booking. A client wants to choose the treatment, choose the practitioner and see a free slot — on the Jalali calendar, from a phone, at eleven at night. If that depends on a phone call during office hours, part of the demand is lost right there.

Second, trust. Nobody decides on a cosmetic procedure from a banner; they decide from content, from before-and-after work, and from seeing the practitioner. The clinic needs a real magazine and a structured gallery, not a scattering of posts.

And behind both, a third problem: the receptionist, the content producer and the manager should not each be working in a different tool.

The solution

One integrated platform was built: a public site on Next.js and React, an admin panel as a standalone React application, and a .NET 10 API with clean architecture and CQRS feeding both.

Online booking covers treatment and practitioner selection, a Jalali calendar and time picker, capacity and appointment-status management, and advanced filters for the receptionist — so the same system the client books through is the reception desk's daily tool.

Trust was built with two things: a before-and-after gallery categorised by treatment, with several images per case and links to the practitioner and the treatment landing page; and a specialist magazine with multi-level categories, a proper editor, comments, related posts and featured articles.

A page builder and menu builder mean the clinic creates its own landing page for each treatment or campaign — with an HTML, CSS and JS editor and independent SEO settings — without waiting for us. Campaigns get dynamic banners, discounts, countdowns and scheduled display.

And the site is a progressive web app: installable on a phone, with a service worker, offline support and Web Push notifications — appointment reminders without an SMS bill.

Key features

  • Online booking with practitioner choice

    Treatment and practitioner selection, a Jalali calendar and free slots, capacity and status management, and advanced filters for reception.

  • Before-and-after gallery

    Categorised by treatment, several images per case, linked to the practitioner and the treatment page, with featured selection.

  • A specialist magazine

    Multi-level categories, a proper editor, comments, related and featured posts — content that makes the decision.

  • Page builder and menu builder

    The clinic builds its own landing page for a treatment or campaign, with an HTML, CSS and JS editor and per-page SEO.

  • An installable web app

    Installs on a phone, has a service worker and offline mode, and sends Web Push notifications.

  • Campaigns with a countdown

    Dynamic banners, discounts, countdowns and scheduled display — a campaign starts and ends on its own.

  • Full technical SEO

    Meta and canonical, sitemap and robots, Open Graph and JSON-LD, and optimised URLs and images.

  • One panel for every role

    Manager, content producer and receptionist work in one dashboard, with separated roles and permissions.

Architecture and stack

Style
Monolith
Patterns
Clean architectureCQRS

The back end is .NET 10 with Clean Architecture and the CQRS pattern, so business logic stays independent of the database, the interface and infrastructure services:

  • Domain — entities, business rules and the core model.
  • Application — commands, queries, DTOs and use-case flows.
  • Infrastructure — SQL Server, Redis, files, authentication and external services.
  • API — endpoints, middleware and secure communication with the clients.

Two independent clients are fed by that API: the public site on Next.js with server rendering for SEO, and the admin panel as a React and Vite application — the right choice for a daily working tool, which wants the behaviour of an application rather than a website.

A PWA layer sits on the public site: a service worker, smart caching, offline mode and Web Push. For a clinic sending appointment reminders, Web Push is the same job without an SMS bill — and because the site is installable, it stays on the client's home screen.

Front end
Next.jsReact.jsTypeScript

Public site with server rendering, PWA and Web Push

Front end
Vite

Standalone admin panel with React Query, Tiptap and CodeMirror

Back end and API
.NET 10ASP.NET CoreC#REST APIClean ArchitectureEntity Framework Core
Database
SQL Server
Cache
Redis
Infrastructure and deployment
Dockernginx

Integrations

  • Web Push for appointment reminders and announcements

Full write-up

Capabilities in detail

Online booking

Treatment and practitioner selection, a Jalali calendar and time picker, capacity and appointment-status management, and advanced filters for the receptionist.

Accounts and clients

Mobile registration and login, profile completion and editing, appointment history and notifications, and the groundwork for a loyalty club.

Specialist magazine

Multi-level categories, a proper content editor, comments, related posts, featured articles and pagination.

Before-and-after portfolio

Categorised by treatment, multi-image galleries, links to the practitioner and the treatment landing page, and featured selection.

Page builder and menu builder

Building pages and landing pages, multi-level tree menus, an HTML, CSS and JS editor, and independent SEO settings per page.

Campaigns and special offers

Dynamic banners, discounts and countdowns, custom image, text and button, and scheduled campaign display.

Progressive web app

Installable on a phone, a service worker and offline mode, smart resource caching, and Web Push notifications.

Technical and content SEO

Meta and canonical, sitemap and robots, Open Graph and JSON-LD, and optimised URLs and images.

Engagement

A contact form and message inbox, client reviews, a dynamic FAQ, and notification campaigns.

The admin panel

The dashboard is a standalone React application and the working tool of the manager, the content producer and the receptionist.

Business management — users, clients, roles and permissions; treatments, practitioners, schedules and bookings; portfolio, reviews and contact messages; banners, campaigns and site-wide notifications.

Content management — articles, categories and comments; page builder, menu builder and CTA management; a rich text editor and a code editor; and global image, file and video upload.

Have a similar project in mind?

Fifteen minutes is enough to say what it needs, how long it takes and where to start.