rentonhead

OkulSistem

School management and online tuition payments for a private school — parents pay installments by card, the finance team reconciles, everyone gets receipts.

Client
Tekirdağ Sınav Koleji
Year
2026
Role
Product architecture · Full-stack engineering · Operations
Status
Live

Money, minors and messages: a school platform where security is a product requirement.

Problem

Students, parents, installments, online payments, receipts and consent records all carry different permissions and risks. The school needed one system for its daily finance work without exposing data across roles.

Approach

A NestJS API and a Next.js front end with role-based access for administrators, finance staff, teachers and parents. Installments and balances live in an auditable ledger; card payments go through Garanti BBVA and VakıfBank 3D Secure without ever storing card data, and bank transfers have an approve-or-reject flow. Receipts are generated as PDFs, notifications go out by SMS and e-mail through a queue, and sensitive actions are written to an audit log.

Result

Live for the school’s families: parents pay online, the finance team approves transfers and tracks balances, and the school’s SMS directory stays in sync with the platform.

What’s inside

  • Installment plans and balances per student
  • 3D Secure card payments through two banks
  • Bank-transfer approval workflow
  • PDF receipts and payment notifications
  • KVKK consent management and audit log
  • Bulk SMS directory for announcements

Stack

Next.jsNestJSMySQLRedisBullMQDocker

Under the hood

The code layer of this project — modules and moving parts.

okulsistem/tree --depth 2
frontend/     Next.js · shadcn/ui → admin · finance · teacher · parent
backend/      NestJS → auth · students · finance · payments · receipts
payments      Garanti BBVA + VakıfBank 3D Secure  (no card data stored)
transfers     bank transfer → finance approves / rejects
queue         Redis + BullMQ → SMS · e-mail notifications
data          MySQL 8 · audit log · KVKK consent records

Ready software

Parents pay tuition installments by card; the finance team reconciles and everyone gets receipts.