# kreatiVortex - Platform Pembelajaran Tari Online

Platform pembelajaran tari online yang menghubungkan pendidik, calon pendidik, dan masyarakat umum untuk melestarikan dan mempelajari tari tradisional Indonesia.

## 🌟 Fitur Utama

### 🎭 Manajemen Konten Pembelajaran
- **Video Pembelajaran**: Upload dan tonton video tutorial tari (mendukung YouTube dan file lokal)
- **Materi Teori**: Akses materi sejarah, filosofi, dan kostum tari
- **Materi Praktik**: Panduan langkah demi langkah gerakan tari
- **Template Makalah**: Download template tugas dan panduan observasi

### 🏫 Manajemen Kelas
- **Sistem Kelas**: Pendidik dapat membuat kelas dan mengelola siswa
- **Jadwal & Pengumuman**: Informasi terupdate mengenai jadwal latihan
- **Penugasan**: Sistem pemberian dan pengumpulan tugas terintegrasi

### 💬 Kolaborasi & Komunitas
- **Forum Diskusi**: Diskusi umum dan spesifik per kelas
- **Komentar**: Interaksi pada video dan postingan forum
- **Peran Pengguna**: Sistem 4 peran (Administrator, Pendidik, Calon Pendidik, Umum)

## 🚀 Teknologi

- **Framework**: Next.js 16 (App Router)
- **Bahasa**: TypeScript
- **Database**: PostgreSQL dengan Prisma ORM
- **Auth**: Better Auth
- **Styling**: Tailwind CSS
- **UI Components**: Custom components (Glassmorphism design)

## 🛠️ Instalasi & Menjalankan Project

1. **Clone repository**
```bash
git clone https://github.com/yourusername/kreati-vortex.git
cd kreati-vortex
```

2. **Install dependencies**
```bash
bun install
```

3. **Setup Database**
Pastikan PostgreSQL sudah berjalan, lalu konfigurasi `.env`:
```env
DATABASE_URL="postgresql://user:password@localhost:5432/kreativortex?schema=public"
```

Jalankan migrasi database:
```bash
bun prisma db push
```

4. **Jalankan Development Server**
```bash
bun dev
```

Buka [http://localhost:3000](http://localhost:3000) di browser Anda.

## 📂 Struktur Project

```
app/
├── (app)/                  # Halaman aplikasi (protected)
│   └── dashboard/          # Dashboard utama
│       ├── assignments/    # Manajemen tugas
│       ├── classes/        # Manajemen kelas
│       ├── forum/          # Forum diskusi
│       ├── videos/         # Manajemen video
│       ├── teori/          # Materi teori
│       ├── praktik/        # Materi praktik
│       └── template-makalah/ # Download template
├── api/                    # API Endpoints
│   ├── auth/               # Autentikasi
│   ├── videos/             # CRUD Video
│   ├── forums/             # CRUD Forum
│   ├── classes/            # CRUD Kelas
│   └── assignments/        # CRUD Tugas
└── auth/                   # Halaman autentikasi (public)
    ├── signin/             # Halaman login
    └── signup/             # Halaman registrasi

components/
├── ActionButton/           # Komponen tombol
├── Common/                 # Komponen umum (Layout, Table, Form)
└── Forms/                  # Komponen form spesifik

prisma/
└── schema.prisma           # Skema database
```

## 🔐 Hak Akses (Role)

1. **Administrator**: Akses penuh ke seluruh sistem
2. **Pendidik**: Manajemen kelas, video, tugas, dan forum
3. **Calon Pendidik**: Mengikuti kelas, akses materi, upload tugas
4. **Umum**: Akses materi publik dan forum umum

## 📝 Lisensi

[MIT](LICENSE)