Tiketin — IT Helpdesk Ticketing System
Full-stack internal IT helpdesk — issue reporting, a technician queue with real-time SLA countdowns, a knowledge base with Indonesian full-text search, and admin reporting dashboards.
A single ASP.NET Core 8 app serves the Razor Pages UI and a versioned REST API from one service layer: a validated ticket state machine, race-safe monthly ticket numbering via Postgres sequences, on-read SLA computation, role-based access, email notifications, and per-ticket audit timelines. 45 unit + integration tests run against real PostgreSQL via Testcontainers in CI; deployed with multi-stage Docker on Render + Neon.
- ASP.NET Core 8
- C#
- PostgreSQL 16
- EF Core
- Razor Pages
- REST API
- JWT
- ASP.NET Identity
- Docker
- GitHub Actions
- xUnit
- Testcontainers
- Chart.js
Demo accounts — Admin: admin@tiketin.local · Technician: bagus.prasetyo@tiketin.local · Employee: andini.puspitasari@tiketin.local (password: Tiketin123!)
Free-tier host — the first visit can take 30–60 s while the server wakes up.