Skip to content

el-pablos/DB-Cracker

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎯 DB-Cracker: ctOS Faculty Database Scanner

ctOS Logo

Flutter Dart Android

πŸ”₯ Advanced Faculty & Student Database Intelligence System πŸ”₯

Inspired by Watch Dogs ctOS - Elegant, Futuristic, Powerful


πŸš€ Tentang Proyek

DB-Cracker adalah aplikasi mobile canggih yang dirancang untuk mengakses dan menganalisis database akademik Indonesia dengan antarmuka yang terinspirasi dari sistem ctOS dalam game Watch Dogs. Aplikasi ini menyediakan akses comprehensive ke data dosen dan mahasiswa dari berbagai sumber API pendidikan Indonesia.

🎨 Design Philosophy

  • ctOS Aesthetic: Dark theme dengan aksen cyan/hijau neon
  • Futuristic UI: Typography monospace, animasi glow, efek hacker
  • Responsive Layout: Mengikuti prinsip design Gojek untuk mobile-first experience
  • Data Visualization: Presentasi data yang elegan dan mudah dibaca

πŸ”§ Update Terbaru (v1.3.0)

βœ… Perbaikan UI Overflow & Responsive Design

  • Fixed: RenderFlex overflow 76 pixels pada hasil pencarian dosen
  • Fixed: RenderFlex overflow 8.7 pixels pada layout footer dan header
  • Improved: Responsive design untuk Android device M2102J20SG (1080x2400)
  • Enhanced: Text wrapping dan ellipsis untuk nama dosen panjang
  • Optimized: Ukuran font dan spacing untuk efisiensi ruang layar

πŸ”§ Perbaikan API & Error Handling

  • Fixed: API 404 error saat fetch detail dosen dengan multiple endpoint fallback
  • Added: Input validation dan sanitization untuk search query
  • Enhanced: Timeout handling 30 detik untuk request API
  • Improved: Error messages yang user-friendly berdasarkan jenis error
  • Added: Memory leak prevention dengan mounted check

🎨 Komponen UI Baru

  • CtOSErrorBoundary: Widget untuk error handling yang konsisten
  • CtOSLoadingWidget: Loading states dengan animasi ctOS theme
  • CtOSEmptyWidget: Empty states dengan styling yang seragam

πŸš€ Peningkatan Performa (v1.2.0)

  • Real Data Display: Hasil pencarian menampilkan data asli dari PDDikti API
  • Better Error Handling: Fallback yang lebih baik ketika API mengalami masalah
  • Consistent UI: Data yang ditampilkan konsisten antara pencarian dan detail view

✨ Fitur Utama

πŸ” Database Scanner

  • Multi-Source Search: Pencarian dari berbagai API pendidikan Indonesia
  • Real-time Results: Hasil pencarian langsung dengan animasi loading
  • Smart Filtering: Filter berdasarkan perguruan tinggi, program studi
  • Comprehensive Data: Akses ke semua data yang tersedia dari PDDikti API

πŸ‘¨β€πŸ« Profil Dosen Lengkap

  • βœ… Informasi Personal: Nama, NIDN/NIDK, gelar, jenis kelamin, tempat/tanggal lahir
  • βœ… Status Kepegawaian: Ikatan kerja, status aktivitas, jabatan akademik
  • βœ… Riwayat Pendidikan: S1/S2/S3, perguruan tinggi asal, tahun lulus
  • βœ… Jabatan Fungsional: Asisten Ahli, Lektor, Lektor Kepala, Guru Besar
  • βœ… Sertifikasi Dosen: Status, tahun, nomor sertifikat
  • βœ… Riwayat Mengajar: Mata kuliah, semester, perguruan tinggi
  • βœ… Portfolio Akademik: Penelitian, pengabdian, karya ilmiah, paten
  • βœ… Homebase & Penugasan: Status homebase, riwayat penugasan

πŸŽ“ Profil Mahasiswa Lengkap

  • βœ… Informasi Personal: Nama, NIM, jenis kelamin, tempat/tanggal lahir, alamat
  • βœ… Status Akademik: Aktif, cuti, lulus, DO, semester saat ini
  • βœ… Perguruan Tinggi: Nama PT, program studi, akreditasi
  • βœ… Riwayat Studi: Tahun masuk, jalur masuk, semester aktif terakhir
  • βœ… Transkrip Nilai: Mata kuliah, nilai huruf & angka, SKS, IP per semester
  • βœ… Riwayat Kelas: Mata kuliah, nama dosen pengajar, kelas/kelompok
  • βœ… Data Kelulusan: Tanggal lulus, nomor ijazah, IPK, predikat, judul skripsi

πŸ›οΈ Database Perguruan Tinggi

  • Informasi PT: Nama, status, akreditasi, alamat
  • Program Studi: Daftar prodi, akreditasi, jenjang
  • Statistik: Jumlah dosen, mahasiswa, lulusan

πŸ› οΈ Teknologi & Arsitektur

Frontend

  • Flutter 3.x: Cross-platform mobile development
  • Dart: Programming language
  • Material Design 3: Modern UI components
  • Custom Widgets: ctOS-themed components

Backend Integration

  • PDDikti API: Sumber data utama Kementerian Pendidikan
  • Multi-API Factory: Integrasi berbagai sumber data
  • HTTP Client: Networking dengan error handling
  • JSON Parsing: Robust data processing

Architecture Pattern

  • Clean Architecture: Separation of concerns
  • Repository Pattern: Data abstraction layer
  • Factory Pattern: API service management
  • Singleton Pattern: State management

πŸš€ Instalasi & Setup

Prerequisites

Flutter SDK >= 3.0.0
Dart SDK >= 3.0.0
Android Studio / VS Code
Android Device / Emulator

Clone Repository

git clone https://github.com/el-pablos/DB-Cracker.git
cd DB-Cracker

Install Dependencies

flutter pub get

Run Application

# Debug mode
flutter run

# Release mode
flutter run --release

# Specific device
flutter run -d <device-id>

🎯 Penggunaan

1. Pencarian Dosen

  1. Buka aplikasi dan pilih "Cari Dosen"
  2. Masukkan nama dosen yang ingin dicari
  3. Gunakan filter perguruan tinggi jika diperlukan
  4. Tap pada hasil untuk melihat detail lengkap

2. Pencarian Mahasiswa

  1. Pilih "Cari Mahasiswa" dari menu utama
  2. Masukkan nama atau NIM mahasiswa
  3. Filter berdasarkan perguruan tinggi atau program studi
  4. Akses profil lengkap dengan riwayat akademik

3. Database Perguruan Tinggi

  1. Pilih "Database PT" untuk menjelajahi perguruan tinggi
  2. Cari berdasarkan nama atau lokasi
  3. Lihat detail lengkap termasuk program studi

πŸ”§ Konfigurasi

API Configuration

// lib/utils/constants.dart
class ApiConstants {
  static const String pddiktiBaseUrl = 'https://api-pddikti.kemdiktisaintek.go.id';
  static const int requestTimeout = 30; // seconds
  static const bool enableMockData = false; // for testing
}

Theme Customization

// lib/utils/constants.dart
class CtOSColors {
  static const Color primary = Color(0xFF00FF41);
  static const Color secondary = Color(0xFF00D4FF);
  static const Color background = Color(0xFF0A0A0A);
  static const Color surface = Color(0xFF1A1A1A);
}

🀝 Contributing

Kontribusi sangat diterima! Silakan ikuti langkah berikut:

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

Commit Convention

add: menambahkan fitur baru
fix: memperbaiki bug
update: memperbarui fitur yang ada
remove: menghapus fitur/file
docs: perubahan dokumentasi
style: perubahan styling/UI
refactor: refactoring code
test: menambahkan/memperbaiki test

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


πŸ‘¨β€πŸ’» Author

Pablos Full-Stack Developer & Mobile App Specialist

GitHub LinkedIn Email

"Building the future, one line of code at a time"


πŸ™ Acknowledgments

  • Kementerian Pendidikan Indonesia - Untuk API PDDikti
  • Flutter Team - Framework yang luar biasa
  • Watch Dogs Series - Inspirasi design ctOS
  • Gojek Design Team - Referensi responsive layout
  • Open Source Community - Dukungan dan kontribusi

⭐ Jika proyek ini membantu, jangan lupa berikan star! ⭐

Made with ❀️ by Pablos

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 90.3%
  • C++ 4.8%
  • CMake 3.9%
  • Swift 0.4%
  • C 0.3%
  • HTML 0.2%
  • Other 0.1%