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.
๐ฌ 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 dari KitaNime Anime Streaming Platform
- 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
- 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
- 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
KitaNime terdiri dari dua komponen utama:
- Web interface untuk user
- Admin panel untuk manajemen
- Video streaming dan player
- Search dan navigation system
- RESTful API untuk data anime
- Web scraping service
- Data processing dan caching
- External API integration
- Node.js (v16 atau lebih baru)
- npm atau yarn
- Git
git clone https://github.com/IkuzaDev/kitanime.git
cd kitanimecd api
npm install
npm run devAPI akan berjalan di http://localhost:3000
cd ../page
npm install
npm startWeb application akan berjalan di http://localhost:3001
Database SQLite akan otomatis dibuat saat pertama kali menjalankan aplikasi.
| Role | Username | Password |
|---|---|---|
| Admin | admin | admin123 |
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
Public Routes
GET /- Homepage dengan anime ongoing dan completeGET /ongoing- Daftar anime ongoing dengan paginationGET /complete- Daftar anime complete dengan paginationGET /genres- Daftar semua genre animeGET /genres/:slug- Anime berdasarkan genreGET /search- Pencarian animeGET /movies- Daftar anime movie
Anime Routes
GET /anime/:slug- Detail animeGET /anime/:slug/episodes- Daftar episode animeGET /anime/:slug/episode/:episode- Player episodeGET /anime/:slug/batch- Download batch links
Movie Routes
GET /movies/:year/:month/:slug- Detail movieGET /movies/:year/:month/:slug/watch- Player movie
Admin Routes
GET /admin/login- Login adminGET /admin/dashboard- Dashboard adminGET /admin/api-endpoints- Manajemen API endpointsGET /admin/ad-slots- Manajemen slot iklanGET /admin/settings- Pengaturan sistem
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 paginationGET /v1/complete-anime/:page- Anime complete dengan paginationGET /v1/anime/:slug- Detail animeGET /v1/anime/:slug/episodes- Daftar episode animeGET /v1/anime/:slug/episodes/:episode- Detail episode
Search & Filter
GET /v1/search/:keyword- Pencarian animeGET /v1/genres- Daftar genreGET /v1/genres/:slug/:page- Anime berdasargi genre
Movies
GET /v1/movies/:page- Daftar movie dengan paginationGET /v1/movies/:year/:month/:slug- Detail movie
- Scraping otomatis dari sumber anime terpercaya
- Update data anime ongoing secara berkala
- Caching system untuk performa optimal
- Error handling dan retry mechanism
- Mobile-first approach
- Adaptive layout untuk tablet dan desktop
- Touch-friendly navigation
- Optimized untuk berbagai ukuran layar
- HTML5 video player dengan Plyr
- Multiple quality options (480p, 720p, 1080p)
- Subtitle support
- Fullscreen dan picture-in-picture mode
- Keyboard shortcuts dan gesture controls
- Real-time search suggestions
- Advanced filtering options
- Search by title, genre, year
- Autocomplete dan typo tolerance
- Traffic monitoring
- Popular anime tracking
- User engagement metrics
- System performance monitoring
API Service (.env)
PORT=3000
NODE_ENV=productionFrontend 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'
}
};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
);- Install Dependencies
# Install API dependencies
cd api && npm install
# Install Frontend dependencies
cd ../page && npm install- Run in Development Mode
# Terminal 1 - API Service
cd api
npm run dev
# Terminal 2 - Frontend Application
cd page
npm run dev- Database Setup
# Database akan otomatis dibuat saat pertama kali menjalankan aplikasi
# Lokasi: page/data/kitanime.db- ESLint: Untuk code linting dan formatting
- Prettier: Untuk code formatting consistency
- Conventional Commits: Untuk commit message standards
- JSDoc: Untuk dokumentasi function dan class
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run specific test file
npm test -- --grep "anime api"- Build Application
# Build API service
cd api
npm run build
# Prepare frontend assets
cd ../page
npm run build- Start Services
# Start API service
cd api
npm start
# Start frontend application
cd ../page
npm start# Dockerfile example
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]- ๐ฑ 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 selalu diterima! Berikut cara berkontribusi:
- Fork repository ini
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit perubahan (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Open Pull Request
- Ikuti code style yang sudah ada
- Tambahkan tests untuk fitur baru
- Update dokumentasi jika diperlukan
- Pastikan semua tests passing
Proyek ini dilisensikan di bawah MIT License.
- 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
- ๐ง Email: dragon.studio.official@gmail.com
- ๐ Bug Reports: GitHub Issues
- ๐ก Feature Requests: GitHub Discussions
Made with โค๏ธ by IkuzaDev
ยฉ 2025 IkuzaDev. All rights reserved.



