The best anime streaming platform — built with love for anime fans, by anime fans. 💜
Granime is a full-stack anime streaming web app that lets you browse, discover, and watch your favorite anime — all in one beautiful, modern interface. Whether you're catching up on the latest seasonal drops or diving into a classic series, Granime has you covered!
- 🔍 Browse & Search Anime — Explore a rich catalog with cover art, ratings, synopses, and genre tags.
- 📺 Stream Episodes — Watch anime with a smooth HLS video player, complete with quality selection and subtitle support.
- 📅 Anime Schedule — Stay up to date with airing schedules so you never miss a new episode.
- 🕓 Watch History — Automatically tracks what you've watched and where you left off — resume anytime!
- 👤 User Profiles — Sign up, log in (with OAuth support), and manage your profile.
- 🌙 Stunning Dark UI — A gorgeous dark theme with glassmorphism effects, smooth animations, and a premium feel.
| Technology | Purpose |
|---|---|
| Next.js 15 (+ Turbopack) | React framework with server-side rendering |
| React 19 | UI library |
| TailwindCSS v4 | Utility-first CSS framework |
| Radix UI (shadcn/ui) | Accessible, unstyled UI primitives |
| TanStack React Query | Data fetching & caching |
| Motion | Animations & transitions |
| HLS.js + Video.js | Adaptive video streaming |
| Prisma | Type-safe database ORM |
| Supabase | Auth & PostgreSQL database |
| Zod + React Hook Form | Form validation |
| Technology | Purpose |
|---|---|
| Hono | Lightweight, ultra-fast web framework |
| Bun | JavaScript runtime & package manager |
| Cheerio | HTML parsing & web scraping |
| Upstash Redis | Serverless caching layer |
| Zod OpenAPI | API documentation & validation |
granimee/
├── frontend/ # Next.js web application
│ ├── src/
│ │ ├── app/ # App router pages & API routes
│ │ ├── components/# Reusable UI components
│ │ ├── lib/ # Utilities, hooks, and providers
│ │ └── generated/ # Prisma generated client
│ ├── prisma/ # Database schema & migrations
│ └── public/ # Static assets
│
└── backend/ # Hono API server
└── src/
├── modules/ # Feature modules (scraping logic)
├── routes/ # API route definitions
├── services/ # Business logic
├── utils/ # Helper utilities
└── config/ # App configuration
Make sure you have these installed:
- Bun (v1.0+)
- Node.js (v18+) — for Next.js compatibility
- A Supabase project (for auth & database)
- An Upstash Redis instance (for backend caching)
git clone https://github.com/your-username/granimee.git
cd granimeecd backend
bun installCreate a .env file and configure your environment variables, then start the dev server:
bun run devThe backend API will be running at http://localhost:3030. Visit http://localhost:3030/doc for the Swagger API docs! 📖
cd frontend
bun installCopy the example env file and fill in your credentials:
cp .env.example .envThen configure your .env:
BACKEND_IP=http://localhost:3030
DATABASE_URL=your_supabase_pooled_connection_string
DIRECT_URL=your_supabase_direct_connection_string
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keyGenerate the Prisma client and run migrations:
bunx prisma generate
bunx prisma migrate devStart the development server:
bun run devThe app will be live at http://localhost:3000 🎉
The backend comes with built-in Swagger/OpenAPI documentation. Once the backend is running, visit:
http://localhost:3030/doc
| Command | Description |
|---|---|
bun run dev |
Start dev server (frontend or backend) |
bun run build |
Build the frontend for production |
bun run start |
Start production server |
bun run lint |
Run ESLint |
bunx prisma studio |
Open Prisma Studio to browse your database |
bunx prisma migrate dev |
Run database migrations |
Contributions are welcome! Feel free to open issues or submit pull requests. Let's make Granime even better together! 💪
- Fork the repository
- Create your feature branch:
git checkout -b feature/awesome-feature - Commit your changes:
git commit -m 'Add awesome feature' - Push to the branch:
git push origin feature/awesome-feature - Open a Pull Request
This project is private and not currently licensed for public distribution.
Made with 💜 and lots of anime binge-watching