Skip to content

Repository files navigation

Status License Node MySQL


───── anizil ─────
full-stack anime streaming portal

built with express.js · react · mysql · tailwind



Anizil is a full-stack anime streaming platform with external API importing, role-based admin panels, XP gamification, premium subscriptions, and community features.


✦ Features

📺 Anime Management Add, edit, delete anime with episodes & streaming sources
🔌 External Import Import directly from Anikoto API with episodes & embed URLs
👥 User Roles Super Admin · Content Admin · Moderator · User with granular perms
🔐 Authentication Email/password + Google OAuth
Premium System Premium episodes with access control & XP-based purchases
📋 Watchlist & History Track watched episodes & maintain a personal list
🏆 Achievements Gamified XP & achievement system
💬 Comments & Reports Community moderation tools
🎟️ Redeem Codes Generate & manage premium/XP redeem codes
📊 Admin Dashboard Full analytics, user management, settings & moderation
📱 Responsive Works on desktop & mobile

✦ Tech Stack

Backend   →  Node.js · Express.js · MySQL (mysql2) · JWT · Passport.js
Frontend  →  React · Vite · Tailwind CSS · Zustand · React Router · Framer Motion
APIs      →  Anikoto API (anime import)

✦ Installation

Prerequisites

  • Node.js 18+
  • MySQL 5.7+ or MariaDB
  • npm

Setup

1. Clone the repository

git clone https://github.com/golammostofasadhin/anizil.git
cd anizil

2. Set up the database

Create a MySQL database named anizil, then:

# Option A — import the full dump
mysql -u root -p anizil < anizil_database.sql

# Option B — run the migration script
cd server
node migrate.js

3. Configure environment

cp .env.example server/.env

Edit server/.env:

PORT=3001
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=anizil
JWT_SECRET=your_jwt_secret_key

4. Install dependencies

cd server && npm install
cd ../client && npm install

5. Run the application

# Terminal 1 — Backend
cd server && node index.js

# Terminal 2 — Frontend (dev)
cd client && npm run dev

Frontend → http://localhost:5173 • API → http://localhost:3001


✦ Default Admin

Email admin@anizil.com
Password admin123

✦ Google OAuth

  1. Go to Google Cloud Console
  2. Create an OAuth 2.0 Client ID (Web Application)
  3. Add redirect URI: http://localhost:3001/api/auth/google/callback
  4. Set in server/.env:
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3001/api/auth/google/callback
  1. Or configure via Admin Panel → Settings → OAuth

✦ API Routes

Method Route Description
GET /api/anime List anime (pagination, search, filters)
GET /api/anime/:slug Anime details by slug
GET /api/anime/:id/episodes Episodes for an anime
POST /api/auth/login User login
POST /api/auth/register User registration
GET /api/auth/google Google OAuth login
POST /api/import/anikoto Import anime from Anikoto (admin)
GET /api/admin/dashboard Admin dashboard stats
PUT /api/admin/users/:id/role Change user role (admin)

See API_DOCS.md for full API documentation.


✦ Project Structure

anizil/
├── client/                      # React frontend
│   ├── src/
│   │   ├── pages/               # Page components
│   │   │   └── admin/           # Admin panel pages
│   │   ├── components/          # Shared components
│   │   │   ├── common/          # AnimeCard, Skeleton, Modal …
│   │   │   └── layout/          # Navbar, Footer, AdminLayout …
│   │   ├── store/               # Zustand state stores
│   │   ├── lib/                 # API client, utilities
│   │   └── hooks/               # Custom React hooks
│   └── vite.config.js
├── server/                      # Express backend
│   ├── routes/                  # API route handlers
│   ├── middleware/               # Auth & admin middleware
│   ├── config/                  # Database config
│   └── utils/                   # Helper functions
├── anizil_database.sql          # Schema & seed data
└── README.md

built with ❤︎ by Masato 真

About

Anizil is a opensource Anime streming platfrom made by G.M.S Group you can use it for free If you want to create a free Anime Stremign site then we are for you

Topics

Resources

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages