Sistem informasi sekolah berbasis web yang menggabungkan website publik sekolah dan dashboard admin untuk mengelola profil sekolah, berita, guru, galeri, dokumen unduhan, serta monitoring PPDB dalam satu aplikasi terintegrasi.

Project ini dibangun sebagai fondasi digital untuk kebutuhan sekolah yang ingin memiliki website publik sekaligus panel administrasi internal tanpa harus memisahkan keduanya ke sistem berbeda. Sisi publik menampilkan profil sekolah, berita, pengumuman, guru dan staf, galeri kegiatan, dokumen unduhan, halaman kontak, serta formulir PPDB. Di sisi admin, pengelola dapat memperbarui informasi sekolah, mengelola konten utama, dan memantau data pendaftar PPDB dari satu dashboard yang terhubung langsung ke database.
Website sekolah sering hanya berfungsi sebagai media informasi statis, sementara pembaruan konten masih bergantung pada proses manual atau pengelolaan teknis yang tidak praktis bagi admin sekolah. Tantangan lainnya adalah menyatukan kebutuhan publikasi, pengelolaan data internal, dan monitoring pendaftaran siswa baru dalam alur yang tetap sederhana, ringan, dan mudah dipelihara.
Saya membangun aplikasi fullstack dengan Next.js App Router, React 19, TypeScript, Prisma, dan SQLite untuk menghadirkan website publik dan panel admin dalam satu codebase. Sistem ini menggunakan Server Actions untuk proses CRUD, custom session authentication berbasis signed cookie untuk area admin, serta revalidasi halaman agar perubahan konten langsung tercermin pada frontend. Struktur datanya dirancang untuk mencakup informasi sekolah, berita/pengumuman, guru, galeri, dokumen, dan pendaftar PPDB secara terpusat.
Hasilnya adalah prototipe sistem informasi sekolah yang siap dikembangkan lebih lanjut sebagai basis digital operasional dan publikasi sekolah. Pengelola dapat memperbarui konten tanpa mengubah kode secara langsung, informasi publik menjadi lebih rapi dan konsisten, dan data PPDB dapat dipantau dari satu dashboard sehingga alur administrasi menjadi lebih terintegrasi.
Technologies and tools used in this project: