ViteReact启动器

Lumi-re-react-cinema-template — Vite 启动器模板

作者 fizzexual

基于 React、TypeScript 与 Tailwind 的影院网站前端模板,包含影片浏览、影评和模拟选座购票流程,使用 TMDB 演示数据,适合影院或代理机构二次品牌化。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-06查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

覆盖影片浏览、影评、选座、结算与确认的完整前端购票流程

02

内置 20 部影片的 TMDB 演示数据,含海报、剧照和演员头像

03

交互式弧形座位图,支持悬停价格、无障碍座位和“最佳可用”自动选座

04

支持英语、西班牙语、法语与英镑、欧元、美元即时切换

05

使用 Zustand 管理预订状态并持久化到 localStorage,路由懒加载

06

提供白标改造说明:替换品牌名、主题色、影院网络和影片数据源

模板详细介绍

Lumière 是一个白标影院网站前端模板,使用 React、TypeScript、Vite 和 Tailwind CSS 构建,动画由 Framer Motion 实现,状态管理使用 Zustand,路由使用 React Router。它覆盖从影片发现到模拟购票的完整前端流程:首页轮播与发现栏、带筛选的浏览页、影片详情页(简介、场次、演员、影评)、影院列表、会员优惠页、交互式弧形选座页、结算页、确认页以及账户中心。

模板内置 20 部影片的静态演示数据,海报、剧照和演员头像来自 TMDB,支付流程为模拟,不产生真实交易。界面支持英语、西班牙语、法语以及英镑、欧元、美元切换,并包含基于类型、主创和格式的推荐逻辑。

需要注意的是,当前版本仅为前端:影片数据是静态数组,没有后端、CMS 或真实票务 API 接入;演示图片和字体等第三方素材的许可需单独核对,商用前应替换为自有授权内容。代码采用 MIT 许可,可免费使用、修改和分发,但需保留版权与许可声明。

ViteReact启动器

适合你的项目吗?

适用场景

  • 影院连锁需要快速搭建可品牌化的在线选座与购票前端
  • 影视工作室或发行方制作用于影片展示与影评互动的宣传站点
  • 代理机构以该模板为起点,为客户定制影院网站并接入自有票务 API
  • 前端开发者学习 React、TypeScript、Tailwind 与 Framer Motion 组合的影院类项目结构

适合人群

  • 需要现成影院前端界面并计划接入自有数据源的团队
  • 希望基于 MIT 许可代码进行二次开发和品牌替换的开发者
  • 制作影院或影片展示类原型、演示或概念验证的项目
  • 需要多语言和多币种界面的国际化影院站点

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Node 18 或更高版本,使用 npm install 安装依赖,npm run dev 启动开发服务器

  2. 2

    运行 npm run build 进行类型检查与生产构建,npm run preview 预览构建结果

  3. 3

    影片、影院、场次和演员数据位于 src/data 目录,需替换为自有 CMS 或 API 数据

  4. 4

    TMDB 素材仅用于演示,商用前应替换为已授权内容并核对字体、图标等第三方素材许可

  5. 5

    支付流程为模拟,接入真实交易需自行实现后端与支付集成

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 支付流程仅为模拟,不产生真实交易;接入真实支付需自行实现后端与支付集成。
  • 影片元数据、海报、剧照和演员头像来自 TMDB,仅用于演示,商用前须替换为自有授权内容。
  • 使用 TMDB API 不代表获得 TMDB 认可或认证,不得暗示与 TMDB 的官方关联。
  • 生产使用前必须将 src/data 中的演示数据替换为自有授权内容。
  • TMDB 影片数据与海报不在 MIT 许可覆盖范围内,任何商业部署前须替换为自有授权内容。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Payment is **simulated** — no real transactions occur.

README 原文

Film metadata, posters, backdrops and cast headshots are sourced from **[The Movie Database (TMDB)](https://www.themoviedb.org/)** for demonstration purposes.

README 原文

This product uses the TMDB API but is **not endorsed or certified by TMDB**.

README 原文

Swap `src/data/*` for your own licensed content before production use.

README 原文

Film data and posters come from TMDB and are not covered: replace them with your own licensed content before any commercial deployment.

README 原文
https://github.com/fizzexual/Lumi-re-react-cinema-template/blob/main/LICENSEhttps://github.com/fizzexual/Lumi-re-react-cinema-template/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-06。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
Vite · React
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-06
截图检查日期
2026-10-06

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Vite。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-06

查看当时使用的来源资料

SHA-256: 38ff69e4384cdb429b3e4980747df7b6064a47db735ad1acedb1a0abde4b3dc0

2026-10-06T07:41:23.669Z

来源文件 / 仓库
# 🎬 Lumière — Cinema & Ticketing 🍂

A modern, premium, **white‑label cinema website** — film discovery, social reviews and a complete seat‑booking flow, wrapped in a flat‑black, Netflix‑grade UI.

Built with **React + TypeScript + Vite + Tailwind CSS**, animated with **Framer Motion**, and powered by **real film data and imagery from [TMDB](https://www.themoviedb.org/)**.

![Lumière home page](docs/home.jpg)

## About

Lumière is a front-end template for a cinema website: browsing films, reading and writing reviews, and booking seats. It is meant for cinema chains, studios or agencies that want a ready-made UI to rebrand and connect to their own film and ticketing API. The current version is a front end only: film data is a static TMDB-based demo set and payment is simulated.

---

## ✨ Highlights

- **Cinematic, full‑bleed UI** — edge‑to‑edge layout, deep blacks, a rotating hero billboard and horizontal, **drag‑to‑scroll** rails with momentum.
- **Real catalogue** — 20 real films with authentic posters, landscape backdrops, synopses, ratings and **real cast headshots** (sourced from TMDB).
- **Advanced discovery** — a command‑palette search (`⌘K` / `Ctrl‑K`) plus a browse page with genre rows, live filtering by genre, format, certificate, language and rating, and shareable URL state.
- **Full booking flow** — film → showtimes → **interactive curved seat map** → checkout → confirmation, with a persistent mini‑cart.
- **Interactive seat selection** — curved auditorium with perspective, premium & accessible seats, hover pricing, a **“best available” auto‑picker**, and simulated **live availability**.
- **Social** — ratings, threaded review discussions and a write‑a‑review form.
- **Account dashboard** — profile + loyalty, upcoming/past bookings with QR passes, add‑to‑calendar & directions, watchlist and a taste‑insights panel.
- **i18n & currency** — English / Español / Français and GBP / EUR / USD, applied instantly across the app.
- **Recommendations** — content‑based engine using genre, crew and format affinity.
- **Responsive & accessible** — works from mobile to ultrawide; semantic markup, focus rings and ARIA labels throughout.

---

## 🖼️ Screenshots

### Browse — Netflix‑style genre rows & filtering
![Browse films](docs/browse.jpg)

### Film detail — backdrop, real cast portraits, showtimes & reviews
![Film detail page](docs/film.jpg)

---

## 🧱 Tech stack

| Concern | Choice |
| --- | --- |
| Framework | [React 18](https://react.dev/) + [TypeScript](https://www.typescriptlang.org/) |
| Build tool | [Vite 5](https://vitejs.dev/) |
| Styling | [Tailwind CSS 3](https://tailwindcss.com/) (custom theme) |
| Animation | [Framer Motion](https://www.framer.com/motion/) |
| State | [Zustand](https://github.com/pmndrs/zustand) (with `localStorage` persistence) |
| Routing | [React Router 6](https://reactrouter.com/) (lazy‑loaded routes) |
| Icons | [lucide‑react](https://lucide.dev/) |

---

## 🚀 Getting started

```bash
# 1. install dependencies
npm install

# 2. start the dev server (http://localhost:5173)
npm run dev

# 3. type-check + production build
npm run build

# 4. preview the production build
npm run preview
```

> Requires Node 18+ (developed on Node 20/25).

---

## 📁 Project structure

```
src/
├─ components/
│  ├─ layout/      # Navbar, Footer, BookingBar, SearchOverlay, Layout
│  ├─ home/        # Hero billboard
│  ├─ film/        # ShowtimesPicker, Reviews
│  ├─ seats/       # SeatMap (curved auditorium)
│  └─ ui/          # FilmCard, FilmRail, Poster, CastPortrait, Brand, Rating, …
├─ pages/          # Home, Browse, FilmDetail, Seats, Checkout, Confirmation,
│                  #   Cinemas, Offers, Account, NotFound
├─ store/          # useBookingStore, usePreferences (Zustand)
├─ data/           # films, cinemas, showtimes, reviews, castPhotos (TMDB)
├─ lib/            # i18n, recommendations, posterArt, format helpers
└─ hooks/          # useLocale, useClickOutside
```

---

## 🗺️ Routes

| Path | Page |
| --- | --- |
| `/` | Home — hero, partner marquee, discovery rails, membership |
| `/browse` | Browse — genre rows + advanced filters / search |
| `/film/:slug` | Film detail — overview, showtimes, reviews, cast |
| `/cinemas` | Locations, amenities and today’s screenings |
| `/offers` | Membership tiers & deals |
| `/seats/:showtimeId` | Interactive seat selection |
| `/checkout` | Ticket types, contact & payment |
| `/confirmation/:ref` | Booking confirmation + wallet pass |
| `/account` | Profile, bookings, watchlist, preferences |

---

## 🎨 Design system

- **Palette** — flat near‑black surfaces (`ink.*`), an off‑white “platinum” primary accent, and a signature **crimson red** for the brand mark and booking CTAs. Amber is reserved for star ratings.
- **Type** — `Sora` for display headings, `Inter` for body.
- **Motion** — hero cross‑fades, scroll‑reveals, card hover‑scale, an infinite partner‑logo marquee, animated counters and momentum‑based rail dragging.
- **Imagery** — real TMDB posters/backdrops with a procedural gradient fallback (`PosterArt`) so a card never shows a broken image.

---

## 🔧 White‑labelling

This is a **brand‑agnostic template**. To rebrand:

1. Rename the wordmark in `components/layout/Navbar.tsx` and `Footer.tsx`.
2. Adjust the accent colours in `tailwind.config.js`.
3. Swap the network in `data/cinemas.ts`.
4. Replace the static arrays in `data/films.ts` (and `castPhotos.ts`) with your real CMS/API feed — the UI is already structured around typed models.

---

## 📝 Data & attribution

Film metadata, posters, backdrops and cast headshots are sourced from
**[The Movie Database (TMDB)](https://www.themoviedb.org/)** for demonstration
purposes. This product uses the TMDB API but is **not endorsed or certified by
TMDB**. Images are loaded from the public TMDB image CDN. Swap `src/data/*` for
your own licensed content before production use.

Payment is **simulated** — no real transactions occur.

---

## 📄 License

The code is MIT-licensed — see [LICENSE](LICENSE). Film data and posters come from TMDB and are not
covered: replace them with your own licensed content before any commercial deployment.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。