From 53bb4f5e90cfb73146e3546e7b45e5382364b6f9 Mon Sep 17 00:00:00 2001 From: Randa Firman Putra <99109173+Randafrmn@users.noreply.github.com> Date: Sat, 27 Sep 2025 15:30:45 +0700 Subject: [PATCH] Update README.md --- README.md | 124 ++++++++++-------------------------------------------- 1 file changed, 22 insertions(+), 102 deletions(-) diff --git a/README.md b/README.md index 530ecd4..aaa2416 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Portal Data Informatika (PODIF) -Sistem Informasi Data Mahasiswa Jurusan Informatika dengan autentikasi admin dan dosen. +Sistem Informasi Data Mahasiswa Jurusan Informatika dengan autentikasi admin dan ketua jurusan. ## Struktur Aplikasi @@ -10,109 +10,29 @@ Sistem Informasi Data Mahasiswa Jurusan Informatika dengan autentikasi admin dan - **Fitur**: Halaman landing dengan modal login/register - **Layout**: Tanpa sidebar/navbar (clean auth interface) - **Komponen**: - - Modal Login (Admin & Dosen) - - Modal Register (Dosen/Kajur) + - Modal Login (Admin & Ketua Jurusan) ### Dashboard - **URL**: `/dashboard` -- **Fitur**: Dashboard utama dengan sidebar dan navbar -- **Layout**: Menggunakan ClientLayout dengan sidebar/navbar -- **Komponen**: - - Statistik mahasiswa - - Grafik dan chart - - Menu navigasi +- **Fitur**: Dashboard "Visualisasi Data Satu Layar" +- **Visualisasi Data**: + - Jumlah Mahasiswa + - Status Kuliah + - Jenis Pendaftaran + - Rata-rata IPK + - Mahasiswa Lulus Tepat Waktu + - Masa Studi Lulusan + - Kelompok Keahlian + - Nama Beasiswa + - Tingkat Prestasi + - Asal Daerah + - Bimbingan Dosen -### Halaman Mahasiswa - -- **URL**: `/dashboard/mahasiswa/*` -- **Fitur**: Halaman data mahasiswa -- **Layout**: Menggunakan ClientLayout dengan sidebar/navbar - -## Autentikasi - -### Role User - -1. **Admin** - - - Login dengan username dan password - - Akses penuh ke semua fitur - -2. **Dosen** - - - Login dengan NIP dan password - - Akses terbatas sesuai role - -3. **Ketua Jurusan (Kajur)** - - Login dengan NIP dan password - - Akses khusus untuk kajur - -### API Endpoints - -- `POST /api/auth/login` - Login admin/dosen -- `POST /api/auth/register` - Register dosen/kajur -- `POST /api/auth/logout` - Logout -- `GET /api/auth/check` - Cek status autentikasi - -## Setup - -### 1. Install Dependencies - -```bash -npm install -``` - -### 2. Setup Environment Variables - -Buat file `.env.local`: - -```env -NEXT_PUBLIC_SUPABASE_URL=your_supabase_url -NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key -SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key -JWT_SECRET=your_jwt_secret -``` - -### 3. Setup Database - -Jalankan script setup database: - -```bash -node setup_database.js -``` - -### 4. Run Development Server - -```bash -npm run dev -``` - -## Database Schema - -### Tabel user_app - -```sql -CREATE TABLE user_app ( - id_user SERIAL PRIMARY KEY, - username VARCHAR(50), -- hanya digunakan oleh admin - nip VARCHAR(20), -- hanya digunakan oleh dosen & kajur - password TEXT NOT NULL, - role_user role_enum NOT NULL, -- ENUM: 'admin', 'dosen', 'kajur' - created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -); -``` - -## Middleware - -Middleware mengatur: - -- Redirect user yang sudah login dari `/` ke `/dashboard` -- Protect route `/dashboard/*` (harus login) -- Clear invalid token dan redirect ke home - -## Struktur File - -``` - -``` +### Kelola Data +- **URL** `/keloladata` +- **Fitur**: + - Mahasiswa + - Prestasi + - Beasiswa + - Dosen