Education
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.

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
