ECheng TV (English: Bullet TV) is a streaming web application built with advanced web technologies. It features a unified Aggregated Search (聚合搜索) across multiple MAC CMS sources with real-time stream processing, leveraging Next.js Cache Components for extreme performance.
- Framework: Next.js 16 (App Router) & React 19 (featuring Cache Components)
- Styling: Tailwind CSS 4 with a custom premium design system
- Authentication: Secure, customizable auth via Better Auth (supports Passkeys)
- Database: PostgreSQL on Neon, managed with Drizzle ORM
- Internationalization: Full i18n support with a humorous twist (English/Chinese)
- Streaming: One-stop Aggregated Search (聚合搜索) across multiple providers with real-time stream processing & HLS playback integration
Deploy your own instance of ECheng TV to your favorite platform.
-
Clone the repository:
git clone https://github.com/ban12-project/tv.git cd tv -
Install dependencies:
pnpm install
-
Environment Setup:
cp .env.example .env
Fill in the required environment variables in
.env.DATABASE_URL(Neon PostgreSQL)BETTER_AUTH_SECRET&BETTER_AUTH_URLSUPABASE_ENDPOINT&SUPABASE_ANON_KEY(Optional, for Douban features)
-
Database Setup:
pnpm db:push
-
Start Development Server:
pnpm dev
To create a production build:
pnpm buildYou can host this application on any platform that supports Next.js (Vercel, Netlify, Docker, etc.).
For Docker or self-hosting, ensure you set the environment variables in your deployment environment.
Special thanks to Google Gemini for its indispensable assistance in the development of this project. Its agentic intelligence made the implementation of complex features a breeze.
This project is licensed under the MIT License.