Skip to content

KitaNime adalah platform streaming anime modern dengan subtitle Indonesia yang menyediakan ribuan anime berkualitas tinggi. Dilengkapi dengan sistem scraping otomatis, admin panel yang powerful, dan antarmuka yang responsif untuk pengalaman menonton anime terbaik. drop link kalo udah di deploy:v

Notifications You must be signed in to change notification settings

IkuzaDev/Kitanime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

31 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽŒ KitaNime - Anime Streaming Platform

Node.js Express.js Pug SQLite Tailwind CSS Axios

KitaNime adalah platform streaming anime modern dengan subtitle Indonesia yang menyediakan ribuan anime berkualitas tinggi. Dilengkapi dengan sistem scraping otomatis, admin panel yang powerful, dan antarmuka yang responsif untuk pengalaman menonton anime terbaik.

Repository page v2: KitaNime-v2

โœจ Fitur Utama

๐ŸŽฌ Streaming Anime

  • Ribuan anime dengan subtitle Indonesia
  • Kualitas video HD (480p, 720p, 1080p)
  • Player video yang responsif dengan kontrol lengkap
  • Autoplay Next Episode & Resume video pada episode berikutnya

๐Ÿ“ฑ Antarmuka Modern

  • Desain responsif untuk semua perangkat
  • Navigasi yang intuitif dan user-friendly
  • Search dan filter anime yang canggih

๐Ÿ”„ Sistem Scraping

  • Scraping otomatis dari sumber terpercaya
  • Update anime ongoing secara real-time
  • Manajemen episode dan batch download

โš™๏ธ Admin Panel

  • Dashboard admin yang komprehensif
  • Manajemen API endpoints
  • Sistem iklan terintegrasi
  • Monitoring dan analytics

๐Ÿ–ผ๏ธ Preview Aplikasi

Preview dari KitaNime Anime Streaming Platform

Homepage KitaNime Anime Detail Video Player Admin Dashboard

๐Ÿงฉ Teknologi yang Digunakan

Frontend

  • View Engine: Pug templating untuk rendering HTML yang elegan
  • Styling: Tailwind CSS untuk desain yang modern dan responsif
  • JavaScript: Vanilla JS dengan Plyr untuk video player
  • Icons: SVG icons dan custom graphics

Backend

  • Server: Node.js + Express.js untuk performa tinggi
  • Database: SQLite3 untuk penyimpanan data yang efisien
  • Authentication: bcrypt untuk keamanan password
  • Session: Express-session untuk manajemen user
  • Security: Helmet.js untuk keamanan HTTP headers

API & Scraping

  • HTTP Client: Axios untuk API requests
  • Web Scraping: Cheerio untuk parsing HTML
  • Data Processing: Custom utilities untuk data transformation
  • Caching: Built-in response caching system

๐Ÿ—๏ธ Arsitektur Sistem

KitaNime terdiri dari dua komponen utama:

๐Ÿ“บ Frontend Application (/page)

  • Web interface untuk user
  • Admin panel untuk manajemen
  • Video streaming dan player
  • Search dan navigation system

๐Ÿ”Œ API Service (/api)

  • RESTful API untuk data anime
  • Web scraping service
  • Data processing dan caching
  • External API integration

๐Ÿš€ Cara Instalasi

Prerequisites

  • Node.js (v16 atau lebih baru)
  • npm atau yarn
  • Git

1. Clone Repository

git clone https://github.com/IkuzaDev/kitanime.git
cd kitanime

2. Setup API Service

cd api
npm install
npm run dev

API akan berjalan di http://localhost:3000

3. Setup Frontend Application

cd ../page
npm install
npm start

Web application akan berjalan di http://localhost:3001

4. Konfigurasi Database

Database SQLite akan otomatis dibuat saat pertama kali menjalankan aplikasi.

๐Ÿ”‘ Default Login

Role Username Password
Admin admin admin123

๐Ÿ“‚ Struktur Project

kitanime/
โ”œโ”€โ”€ api/                    # API Service
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ lib/           # Core scraping libraries
โ”‚   โ”‚   โ”œโ”€โ”€ utils/         # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ types/         # Type definitions
โ”‚   โ”œโ”€โ”€ routes/            # API routes
โ”‚   โ”œโ”€โ”€ handler/           # Request handlers
โ”‚   โ””โ”€โ”€ index.js           # API entry point
โ”‚
โ”œโ”€โ”€ page/                  # Frontend Application
โ”‚   โ”œโ”€โ”€ routes/            # Express routes
โ”‚   โ”‚   โ”œโ”€โ”€ index.js       # Home routes
โ”‚   โ”‚   โ”œโ”€โ”€ anime.js       # Anime routes
โ”‚   โ”‚   โ”œโ”€โ”€ admin.js       # Admin routes
โ”‚   โ”‚   โ””โ”€โ”€ api.js         # API proxy routes
โ”‚   โ”œโ”€โ”€ views/             # Pug templates
โ”‚   โ”‚   โ”œโ”€โ”€ admin/         # Admin panel views
โ”‚   โ”‚   โ”œโ”€โ”€ layout.pug     # Main layout
โ”‚   โ”‚   โ”œโ”€โ”€ index.pug      # Homepage
โ”‚   โ”‚   โ”œโ”€โ”€ anime-detail.pug
โ”‚   โ”‚   โ”œโ”€โ”€ episode-player.pug
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ”œโ”€โ”€ models/            # Database models
โ”‚   โ”‚   โ””โ”€โ”€ database.js    # SQLite configuration
โ”‚   โ”œโ”€โ”€ middleware/        # Express middleware
โ”‚   โ”‚   โ”œโ”€โ”€ adSlots.js     # Ad management
โ”‚   โ”‚   โ””โ”€โ”€ cookieConsent.js
โ”‚   โ”œโ”€โ”€ services/          # Business logic
โ”‚   โ”‚   โ””โ”€โ”€ animeApi.js    # API service client
โ”‚   โ”œโ”€โ”€ public/            # Static assets
โ”‚   โ”‚   โ”œโ”€โ”€ css/           # Stylesheets
โ”‚   โ”‚   โ”œโ”€โ”€ js/            # Client-side scripts
โ”‚   โ”‚   โ””โ”€โ”€ images/        # Images and media
โ”‚   โ”œโ”€โ”€ data/              # Database files
โ”‚   โ”‚   โ””โ”€โ”€ kitanime.db    # SQLite database
โ”‚   โ””โ”€โ”€ app.js             # Main application
โ”‚
โ””โ”€โ”€ README.md              # Project documentation

๐Ÿ—บ๏ธ Routes & API Endpoints

๐Ÿ  Frontend Routes

Public Routes

  • GET / - Homepage dengan anime ongoing dan complete
  • GET /ongoing - Daftar anime ongoing dengan pagination
  • GET /complete - Daftar anime complete dengan pagination
  • GET /genres - Daftar semua genre anime
  • GET /genres/:slug - Anime berdasarkan genre
  • GET /search - Pencarian anime
  • GET /movies - Daftar anime movie

Anime Routes

  • GET /anime/:slug - Detail anime
  • GET /anime/:slug/episodes - Daftar episode anime
  • GET /anime/:slug/episode/:episode - Player episode
  • GET /anime/:slug/batch - Download batch links

Movie Routes

  • GET /movies/:year/:month/:slug - Detail movie
  • GET /movies/:year/:month/:slug/watch - Player movie

Admin Routes

  • GET /admin/login - Login admin
  • GET /admin/dashboard - Dashboard admin
  • GET /admin/api-endpoints - Manajemen API endpoints
  • GET /admin/ad-slots - Manajemen slot iklan
  • GET /admin/settings - Pengaturan sistem

๐Ÿ”Œ API Endpoints

System Info

  • GET /v1/ - Informasi sistem dan status API

Anime Data

  • GET /v1/home - Data homepage (ongoing + complete)
  • GET /v1/ongoing-anime/:page - Anime ongoing dengan pagination
  • GET /v1/complete-anime/:page - Anime complete dengan pagination
  • GET /v1/anime/:slug - Detail anime
  • GET /v1/anime/:slug/episodes - Daftar episode anime
  • GET /v1/anime/:slug/episodes/:episode - Detail episode

Search & Filter

  • GET /v1/search/:keyword - Pencarian anime
  • GET /v1/genres - Daftar genre
  • GET /v1/genres/:slug/:page - Anime berdasargi genre

Movies

  • GET /v1/movies/:page - Daftar movie dengan pagination
  • GET /v1/movies/:year/:month/:slug - Detail movie

๐ŸŽฏ Fitur Khusus

๐Ÿ”„ Auto Scraping System

  • Scraping otomatis dari sumber anime terpercaya
  • Update data anime ongoing secara berkala
  • Caching system untuk performa optimal
  • Error handling dan retry mechanism

๐Ÿ“ฑ Responsive Design

  • Mobile-first approach
  • Adaptive layout untuk tablet dan desktop
  • Touch-friendly navigation
  • Optimized untuk berbagai ukuran layar

๐ŸŽฌ Advanced Video Player

  • HTML5 video player dengan Plyr
  • Multiple quality options (480p, 720p, 1080p)
  • Subtitle support
  • Fullscreen dan picture-in-picture mode
  • Keyboard shortcuts dan gesture controls

๐Ÿ” Smart Search

  • Real-time search suggestions
  • Advanced filtering options
  • Search by title, genre, year
  • Autocomplete dan typo tolerance

๐Ÿ“Š Admin Analytics

  • Traffic monitoring
  • Popular anime tracking
  • User engagement metrics
  • System performance monitoring

๐Ÿ› ๏ธ Konfigurasi

Environment Variables

API Service (.env)

PORT=3000
NODE_ENV=production

Frontend Application

// page/config/config.js
module.exports = {
  port: process.env.PORT || 3001,
  apiBaseUrl: process.env.API_URL || 'http://localhost:3000',
  sessionSecret: process.env.SESSION_SECRET || 'kitanime-secret',
  database: {
    path: './data/kitanime.db'
  }
};

Database Schema

API Endpoints Table

CREATE TABLE api_endpoints (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL UNIQUE,
  url TEXT NOT NULL,
  is_active INTEGER DEFAULT 0,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Ad Slots Table

CREATE TABLE ad_slots (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  name TEXT NOT NULL,
  position TEXT NOT NULL,
  content TEXT,
  is_active INTEGER DEFAULT 1,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

Admin Users Table

CREATE TABLE admin_users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  username TEXT UNIQUE NOT NULL,
  password TEXT NOT NULL,
  email TEXT,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

๐Ÿ”ง Development

Setup Development Environment

  1. Install Dependencies
# Install API dependencies
cd api && npm install

# Install Frontend dependencies
cd ../page && npm install
  1. Run in Development Mode
# Terminal 1 - API Service
cd api
npm run dev

# Terminal 2 - Frontend Application
cd page
npm run dev
  1. Database Setup
# Database akan otomatis dibuat saat pertama kali menjalankan aplikasi
# Lokasi: page/data/kitanime.db

Code Style & Standards

  • ESLint: Untuk code linting dan formatting
  • Prettier: Untuk code formatting consistency
  • Conventional Commits: Untuk commit message standards
  • JSDoc: Untuk dokumentasi function dan class

Testing

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run specific test file
npm test -- --grep "anime api"

๐Ÿš€ Deployment

Production Deployment

  1. Build Application
# Build API service
cd api
npm run build

# Prepare frontend assets
cd ../page
npm run build
  1. Start Services
# Start API service
cd api
npm start

# Start frontend application
cd ../page
npm start

Docker Deployment

# Dockerfile example
FROM node:18-alpine

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

COPY . .
EXPOSE 3000

CMD ["npm", "start"]

๐Ÿ”„ Fitur yang Akan Datang

  • ๐Ÿ“ฑ Mobile App: Aplikasi Android dan iOS native
  • ๐Ÿ”” Push Notifications: Notifikasi episode baru
  • ๐Ÿ‘ค User Accounts: Sistem registrasi dan profile user
  • โค๏ธ Favorites: Bookmark anime favorit
  • ๐Ÿ“ Reviews: Sistem rating dan review anime
  • ๐ŸŒ Multi-language: Support subtitle multi-bahasa
  • ๐Ÿ“Š Advanced Analytics: Dashboard analytics yang lebih detail
  • ๐ŸŽฎ Gamification: Achievement dan point system
  • ๐Ÿ’ฌ Comments: Sistem komentar per episode
  • ๐Ÿ“บ Recommendations: AI-powered anime recommendations

๐Ÿค Kontribusi

Kontribusi selalu diterima! Berikut cara berkontribusi:

  1. Fork repository ini
  2. Create feature branch (git checkout -b feature/AmazingFeature)
  3. Commit perubahan (git commit -m 'Add some AmazingFeature')
  4. Push ke branch (git push origin feature/AmazingFeature)
  5. Open Pull Request

Guidelines Kontribusi

  • Ikuti code style yang sudah ada
  • Tambahkan tests untuk fitur baru
  • Update dokumentasi jika diperlukan
  • Pastikan semua tests passing

๐Ÿ“„ Lisensi

Proyek ini dilisensikan di bawah MIT License.

๐Ÿ™ Acknowledgments

  • Otakudesu: Sumber data anime utama
  • Anoboy: Sumber data anime movie
  • Plyr: Video player yang amazing
  • Tailwind CSS: Framework CSS yang powerful
  • Express.js: Web framework yang reliable
  • Cheerio: HTML parsing yang mudah

๐Ÿ“ž Kontak & Support


Made with โค๏ธ by IkuzaDev

ยฉ 2025 IkuzaDev. All rights reserved.

About

KitaNime adalah platform streaming anime modern dengan subtitle Indonesia yang menyediakan ribuan anime berkualitas tinggi. Dilengkapi dengan sistem scraping otomatis, admin panel yang powerful, dan antarmuka yang responsif untuk pengalaman menonton anime terbaik. drop link kalo udah di deploy:v

Resources

Stars

Watchers

Forks