Skip to content

Nesas Smart School

Full-stack school management platform for SMKN 1 Sumedang, with role-based dashboards for administrators, teachers, and students, built independently for my vocational competency assessment.

Nesas Smart School

About SMKN 1 Sumedang

SMKN 1 Sumedang is a public vocational high school (SMK) in Sumedang, West Java. Like other vocational schools in Indonesia, it prepares students for work through several majors and a mandatory industrial internship (Praktik Kerja Lapangan) at partner companies.

Nesas Smart School started as my Vocational Competency Assessment (Uji Kompetensi Keahlian, UKK) project: the final practical exam where vocational students prove they can deliver a complete product on their own.

The challenge

Day-to-day school administration was spread across spreadsheets, chat groups, and paper. Class schedules, student and teacher records, majors, internship placements at partner companies, school news, and payments all lived in different places, which made them hard to keep accurate and hard for students and parents to follow.

The goal was one platform where each person sees exactly what they need: administrators manage the whole school, teachers handle their classes and schedules, and students follow their lessons, internships, and announcements.

What I built

I independently designed and built the full application, from the database schema to the user interface.

Role-based dashboards

  • Administrators manage majors, classes, teachers, students, user accounts, articles, forum moderation, contact messages, and internship partners.

  • Teachers see their lesson schedules, publish articles, and manage their profile.

  • Students follow their lesson schedule, track their internship, write articles for review, and manage their settings.

Academic data

  • Majors, classes, teachers with their educational positions, and students with graduation status, all connected in one relational schema.

  • Class scheduling for both teachers and students.

Internship tracking

  • A directory of partner companies with their status.

  • Internship placements per student with progress status, so the school can see where every student is placed.

Community and communication

  • Discussion forums with comments, open to the school community.

  • Articles written by teachers and students, with a draft and review flow before publishing.

  • A public site with school news, a contact form, and an AI chatbot that answers common questions about the school.

Accounts, files, and payments

  • Authentication with email verification and password reset, plus an activity log for important actions.

  • File uploads for profiles and content.

  • Payment workflows integrated with Midtrans.

Architecture overview

A high-level view of the application. One Next.js app holds the public site and the three role-based areas. Data is stored in PostgreSQL through Prisma, and outside services handle email, file uploads, payments, and the chatbot.

flowchart LR
  accTitle: Nesas Smart School architecture
  accDescr: Visitors, students, teachers, and administrators use one Next.js app. It stores data in PostgreSQL through Prisma and connects to services for email, files, payments, and AI.
  visitor([Visitor]) --> publicSite
  student([Student]) --> auth
  teacher([Teacher]) --> auth
  adminUser([Administrator]) --> auth
  subgraph app["Next.js app"]
    publicSite["Public site<br/>news, forum, contact, chatbot"]
    auth{"Auth.js sign-in<br/>and roles"}
    studentArea["Student area<br/>schedule, internship, articles"]
    teacherArea["Teacher area<br/>schedule, articles"]
    adminArea["Admin dashboard<br/>school data, users, moderation"]
    auth --> studentArea & teacherArea & adminArea
  end
  app --> prisma["Prisma ORM"] --> db[("PostgreSQL")]
  app --> services["Resend email · UploadThing files<br/>Midtrans payments · OpenAI chatbot"]

Tech stack

Next.js 14, TypeScript, Prisma, PostgreSQL, Auth.js (NextAuth v5), Tailwind CSS, Midtrans, Resend, UploadThing, and the OpenAI API.

Result

Nesas Smart School turned scattered school administration into one platform with dashboards tailored to every role. The source code is available on GitHub.

Next project

Nusacaraka Technology Platform

Founder & Lead Developer · 2026 – Present