KitaNime adalah platform streaming anime modern yang dibangun dengan Node.js dan Express.js. Platform ini menyediakan akses ke berbagai anime dengan kualitas HD, sistem bookmark, riwayat tonton, dan fitur-fitur canggih lainnya.
- Streaming Anime HD - Kualitas video tinggi dengan loading cepat
- Koleksi Lengkap - Anime ongoing, complete, dan movie
- Kategori Genre - Filter anime berdasarkan genre favorit
- Pencarian Cerdas - Sistem pencarian yang akurat dan cepat
- Batch Download - Download episode dalam format batch
- Registrasi & Login - Sistem autentikasi yang aman
- Profil User - Manajemen profil dan preferensi
- Bookmark System - Simpan anime favorit untuk ditonton nanti
- Riwayat Tonton - Track progress menonton anime
- Sistem Komentar - Berinteraksi dengan pengguna lain
- Rate Limiting - Perlindungan dari abuse dan spam
- Security Headers - Implementasi keamanan web modern
- Caching System - Optimasi performa dengan caching
- Error Handling - Sistem error handling yang robust
- Input Validation - Validasi dan sanitasi input
- Responsive Design - Tampilan optimal di semua device
- Dark Mode - Mode gelap untuk kenyamanan mata
- Modern UI/UX - Interface yang clean dan user-friendly
- Loading States - Feedback visual yang informatif
├── api/ # OtakuDesu API Service
│ ├── src/
│ │ ├── lib/ # Scraping utilities
│ │ ├── utils/ # Helper functions
│ │ └── types/ # Type definitions
│ └── routes/ # API endpoints
├── config/ # Configuration files
├── middleware/ # Custom middleware
├── models/ # Database models
├── routes/ # Main application routes
├── services/ # Business logic services
└── views/ # Pug templates
├── public/
│ ├── css/ # Stylesheets
│ ├── js/ # JavaScript files
│ ├── images/ # Static images
│ └── fonts/ # Custom fonts
└── views/ # Server-side templates
- Node.js >= 16.0.0
- npm atau yarn
- Git
- Clone Repository
git clone https://github.com/yourusername/Anime-Stream.git
cd Anime-Stream- Install Dependencies
# Install main application dependencies
npm install
# Install API service dependencies
cd api
npm install
cd ..- Environment Setup
# Copy environment template
cp ENV_SAMPLE.txt .env
# Edit .env file with your configuration
nano .env- Start Development Server
# Start API service (Terminal 1)
cd api
npm run dev
# Start main application (Terminal 2)
npm run dev- Access Application
- Main App: https://anime-stream-delta.vercel.app
- API Service: https://anime-stream-delta.vercel.app/v1
Buat file .env berdasarkan ENV_SAMPLE.txt:
NODE_ENV=development
PORT=3001
TRUST_PROXY=0
SESSION_SECRET=your-strong-secret-key
API_BASE_URL=https://anime-stream-delta.vercel.app/v1
CORS_ORIGIN=https://anime-stream-delta.vercel.appAplikasi menggunakan SQLite database yang akan dibuat otomatis saat pertama kali dijalankan. Database file akan tersimpan di data/kitanime.db.
- Development:
https://anime-stream-delta.vercel.app/v1 - Production:
https://anime-stream-delta.vercel.app/v1
GET /v1/homeMengambil data anime terbaru dan trending.
GET /v1/search?keyword=narutoPencarian anime berdasarkan keyword.
GET /v1/anime/{slug}
GET /v1/anime/{slug}/episodes
GET /v1/anime/{slug}/episodes/{episode}GET /v1/genres
GET /v1/genres/{slug}?page=1GET /v1/complete-anime?page=1
GET /v1/ongoing-anime?page=1GET /v1/episode/{slug}Semua API response mengikuti format JSON standar:
{
"status": "success",
"data": {
// Response data
},
"pagination": {
"currentPage": 1,
"totalPages": 10,
"hasNext": true,
"hasPrev": false
}
}-
Connect Repository
- Login ke Vercel
- Import project dari GitHub
-
Environment Variables Set environment variables di Vercel dashboard:
NODE_ENV=production SESSION_SECRET=your-production-secret API_BASE_URL=https://your-api-domain.com/v1 -
Deploy
- Vercel akan otomatis deploy saat ada push ke main branch
- Custom domain bisa dikonfigurasi di dashboard
- Build Application
npm install --production- Start Production Server
NODE_ENV=production npm start- Using PM2 (Recommended)
npm install -g pm2
pm2 start app.js --name "kitanime"
pm2 startup
pm2 saveapp.js- Main application entry pointapi/- Separate API service for data scrapingroutes/- Express.js route handlersmiddleware/- Custom middleware functionsviews/- Pug template filespublic/- Static assets
- Gunakan ESLint untuk code linting
- Follow JavaScript ES6+ standards
- Gunakan async/await untuk asynchronous operations
- Implement proper error handling
# Run tests (jika ada)
npm test
# Run linting
npm run lint- Buat route baru di
routes/ - Implement business logic di
services/ - Buat view template di
views/ - Update navigation di layout template
- CSS framework: Tailwind CSS
- Custom styles:
public/css/theme.css - Dark mode:
public/css/dark-mode-enhanced.css
Database menggunakan SQLite dengan tabel:
users- User accountsbookmarks- User bookmarkswatch_history- Watch historycomments- User comments
Kami sangat menghargai kontribusi dari komunitas! Silakan baca CONTRIBUTING.md untuk panduan lengkap.
- Fork repository
- Buat feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push ke branch (
git push origin feature/AmazingFeature) - Buat Pull Request
Project ini dilisensikan di bawah MIT License - lihat file LICENSE untuk detail.
- Project ini dibuat untuk tujuan edukasi dan pembelajaran
- Kami tidak menyimpan atau mendistribusikan konten anime
- Semua konten anime adalah milik pemilik aslinya
- Gunakan dengan bijak dan patuhi hukum yang berlaku
Jika Anda mengalami masalah atau memiliki pertanyaan:
- 📧 Email: support@kitanime.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- OtakuDesu - Sumber data anime
- Express.js - Web framework
- Pug - Template engine
- Tailwind CSS - CSS framework
- Vercel - Deployment platform
Dibuat dengan ❤️ oleh KitaNime Team
⭐ Jangan lupa berikan star jika project ini membantu Anda!