Astro theme
زعفران
Zafaran
A bilingual (English and Persian, right-to-left) restaurant website template for designers, developers, and agencies building a restaurant or café website.
$99 one-time · unlimited projects · future updates included

What you receive
- The complete Zafaran source: a bilingual restaurant website you configure from TypeScript files.
- Buyer documentation: install, customize, assets and rights, deploy, and troubleshooting.
- One fictional demo configuration with AI-generated placeholder photographs and a hero film you replace with the restaurant's own.
- Typefaces installed by npm as @fontsource packages under the SIL Open Font License; no font files are bundled in the repository.
- The Vlavera Professional License v2 in the repository.
- Read access to the private Zafaran repository on GitHub, where every future release of Zafaran is published.
Stack
- Framework
- Astro 7.3.5, static output, two file-based locale routes
- Language
- TypeScript 5.9.3
- Styling
- Plain CSS — no Tailwind, no UI library
- Fonts
- Self-hosted via @fontsource (SIL Open Font License)
- Tests
- Vitest 3.2.7; Playwright 1.63 for rendered-page containment
- Requirements
- Node.js 24.x, npm 11 or newer, Git, and a GitHub account
What you configure, and what needs code
Configuration only
- Identity, name, and tagline.
- Full menu, dishes, and prices.
- Hours and weekly sessions, with a live open/closed status.
- Contact destination (WhatsApp, phone, or email).
- Hero, legacy, room, and gathering imagery.
- Demo guest quotes.
- Indexing and canonical site URL. A production build stops without the URL; deploying through Vercel's Git integration sets it for you.
Needs a code change
- Page layout and section order.
- Colour palette and typography.
Support, updates and deployment
14 calendar days of email support from the order date, for installation and the Vercel Git-integration deployment documented in the package. There is no response-time promise, and customization work, other hosts, and general development consulting are outside it.
Your purchase includes access to the Zafaran repository and every future release published to it, including major versions and redesigns. Vlavera publishes releases when it chooses; there is no schedule. If the repository is ever retired, you get 30 days' notice by email and keep every release already published.
Deployment is tested on Vercel through its Git integration, on a plan that permits commercial use. The Vercel CLI path and other hosting environments are untested in this release.
The full guides (install, customize, assets, deploy and troubleshooting) are in the Zafaran repository, which you get access to when you buy. This page covers what you need to know before that.
License
- Unlimited projects.
- One license covers every website you build with Zafaran, for yourself or for your clients. There is no project limit.
- You hand the finished project to its client, who may keep, host, maintain, and modify it indefinitely.
- Before you hand over the code, give your client this license and get their agreement to its restrictions. They get that one site: they can't build another project from it or pass it on as a theme.
- You may not sell, share or redistribute Zafaran as a theme, template or starter, whether you've changed it or not.
- Keep the source in a private repository, never a public one. Putting the finished website online is fine; publishing its code is not.
- Don't add anyone to the Zafaran repository or share your access to it. Your employees and contractors get the code from you privately, for example from your own private repository.
- Before a website goes live commercially, you must replace the demo imagery with media you have the rights to use. This is a condition of the license.
This is a summary. The full license is what applies. Read the Zafaran license · Purchase terms
What this release does not do
- One restaurant, two static locale routes (English, Persian); no third language without adding a route and dictionary coverage for it.
- The demo's two Persian pages were read as published by a native reader on 2026-10-04.
- No CMS: content lives in TypeScript configuration files.
- No commerce: no booking engine, no availability checking, no payments, and no ratings or reviews. The menu shows prices as content, and the sample order cart sends nothing.
- The example media, photographs and a hero film, is AI-generated, not photographed: replace it before a live commercial launch (a licence condition, not advice).
- Interface strings beyond English and Persian are not supported without adding a dictionary.