mezarisim.com — Memorial Construction Catalog and Quote Platform
A memorial construction and grave care platform for the Istanbul market with a model catalog, service pages, quote flows and an admin panel.

Description
A memorial construction and grave care platform for the Istanbul market with a model catalog, service pages, quote flows and an admin panel.
Case study
Challenge
Customers of a grave construction business must decide quickly in a difficult time and could not find model, material, cemetery and price information in one place. The business did not want to depend on a developer for every model, price or campaign change.
Approach
We built a model catalog with five main categories, service pages for planting and soil filling modelled as services, and a filterable Istanbul cemetery guide. The React/Vite frontend is connected to an API on Fastify and MySQL and to a panel that manages all content, SEO texts and contact settings.
Outcome
mezarisim.com is live, and the business updates models, prices, campaigns and SEO texts from its own panel. Contact requests are collected on one screen with status tracking, and the cemetery guide gives the site lasting content for local search.
Tools
React, TypeScript, Vite, Redux Toolkit, React Query, Shadcn UI, Tailwind CSS, Fastify, Drizzle ORM, MySQL
Key Features
Grave model catalog with 5 main categories and subcategories
Product detail pages with specs, FAQs and reviews
Istanbul cemetery guide filterable by district and type
Comparable service pages for planting and soil filling
Moderated customer reviews and a recent work gallery
Fast contact flow via phone, WhatsApp and form
Status-tracked contact inbox with email notifications
Per-page SEO texts and JSON-LD managed in the panel
Database backup and restore from the admin panel
Technologies Used
React
TypeScript
Vite
Redux Toolkit
React Query
Shadcn UI
Tailwind CSS
Fastify
Drizzle ORM
MySQL
Design Highlights
Floating call button on every screen: shortest path for families
Products and services modelled separately; services compare by area, duration, warranty
Cemetery guide grouped by Asian and European side regions
Inlined critical CSS, skeleton loaders and reduced-motion support
Brand, contact, SMTP and SEO settings live in the panel, not in code
Details
mezarisim.com is the digital storefront of an Istanbul business that builds graves, makes headstones and provides grave planting and soil filling. The typical customer is a family member who has to decide quickly during a difficult time: they want to know which model suits which cemetery, how the materials differ and roughly what it will cost, and then start the job with a single phone call. We built the platform around exactly that need: model catalog, service pages, an Istanbul cemetery guide and a quote/contact flow on one site, with every piece of content editable from the admin panel.
Context and requirements
Most sites in this sector were either a static photo gallery or needed a developer for every change. The business was clear about what it wanted: add a new model, update a price or campaign, or publish a seasonal announcement without depending on anyone. It also needed visibility for competitive searches such as "marble grave", "granite grave" and "headstone", and the shortest possible path from visitor to phone call, WhatsApp or quote form.
Solution and scope
Model catalog
The catalog is built on five main categories: Grave Models, Headstone Models, Grave Accessories, Grave Planting and Soil Filling. Subcategories follow the language customers actually use: single and double marble or granite graves, tiered sarcophagus, column and custom-built graves; marble, granite and column headstones; vases, columns and ornaments. The product gallery on the home page combines category filters with instant search, and every model opens on a detail page with its own URL.
Product detail page
The detail page does more than show a photo and a price. Cover image and gallery, technical specifications grouped into physical dimensions, material and service, model-specific FAQs and customer reviews all sit on the same page. Each product has its own meta title and description, and similar models are listed at the bottom.
Service pages
Grave planting and soil filling are modelled as services rather than products. Planting stores area, duration, maintenance interval and season; soil filling stores soil type, thickness and equipment; both carry warranty and what is included in separate fields. Visitors can therefore compare services side by side. The price list, accessories, about us, mission and vision, quality policy and FAQ pages are fed by the same structure.
Istanbul cemetery guide
The most distinctive part of the site is the cemetery guide. Cemeteries are grouped by Asian and European side regions and can be filtered by district and type; each entry lists address, phone, opening hours, transport and accessibility. One click opens the location in Google Maps from its coordinates. The section genuinely helps families and gives the site lasting, useful content for local search.
Trust and contact flow
Recent work is shown in its own gallery with location, material and year. Customers can submit reviews on the site, but they only go live after admin approval. Campaigns and announcements are highlighted on the home page, and seasonal pages such as the Ramadan campaign are published as custom pages written in the panel. A floating call button is visible on every screen, and the contact page brings phone, WhatsApp and the form together.
Admin panel
The dashboard shows counts for products, categories, subcategories, users, pages, services, contact messages, sliders, accessories, campaigns, announcements and reviews at a glance; each card links to its management screen. The product form is split into sections: basics, cover image, gallery, specifications, FAQs, reviews and SEO. Cemeteries, recent work, info cards, menus and custom pages are managed from the panel as well.
Site settings are organised into tabs: general information, contact and WhatsApp link, SMTP email settings, storage, per-page SEO texts and JSON-LD structured data. Contact messages are tracked with new, in progress and closed states plus an admin note. Database backups can be exported from the panel, and on-server snapshots can be created and restored.
Technical architecture
- Frontend: single-page application with React, TypeScript and Vite; React Router, Redux Toolkit and RTK Query for data, Shadcn UI/Radix components and Tailwind CSS for the interface, React Hook Form for validation.
- API: Fastify running on Bun; each module defines public and admin routes separately, inputs are validated with Zod, and admin endpoints are protected by JWT sessions and role checks.
- Data model: MySQL with Drizzle ORM; products, subcategories, product specifications, product FAQs and reviews, services, cemeteries, recent work, campaigns, announcements, sliders, custom pages and site settings live in separate tables. Schema and initial content are set up through versioned SQL seed files.
- SEO: per-page titles and descriptions come from site settings, LocalBusiness JSON-LD is injected dynamically, and canonical tags, sitemap and robots.txt are in place.
- Performance: critical CSS inlined in the page, an optimised image component and skeleton loaders, animations that respect reduced-motion preferences.
Integrations
- Media: images are served through Cloudinary; the storage driver can be switched to local disk from the panel.
- Email: the contact form uses Nodemailer to notify the addresses configured in the panel; SMTP settings live in the panel, not in code. A simple bot trap protects the form.
- Maps and messaging: Google Maps links for cemetery locations, a WhatsApp link for contact.
- Ad measurement: the Google Ads tag is set up for the single-page architecture, and Search Console verification is in place.
Outcome and today
mezarisim.com is live. The business manages new models, prices, campaigns and SEO texts from its own panel, and contact requests are collected on one screen with status tracking. The combination of catalog, service comparison and Istanbul cemetery guide has turned the site from a simple gallery into a reference point that helps families make decisions.