<aside> <img src="/icons/document_blue.svg" alt="/icons/document_blue.svg" width="40px" />
A6 · System Document · Version 1.0 · 8 October 2026
Every document of The Culprit in one file: assignments A1 to A5, the System Document, the Testing Document, the Application Manual, the meeting minutes and the Sprint 2 report. 202 pages, with a contents page and bookmarks.
</aside>
| Part | Document | ID | Version | Date | Pages |
|---|---|---|---|---|---|
| A1 | Project Proposal | SE-PRO-001 | 1.1 | 8 Sep 2026 | 6 |
| A2 | Software Requirements Specification | SE-SRS-001 | 1.0 | 13 Sep 2026 | 30 |
| A3 | Software Design Specification | SE-SDS-002 | 2.0 | 6 Oct 2026 | 57 |
| A4 | Sprint 1 Demo and Presentation | SE-PRE-002 | 1.0 | 8 Oct 2026 | 6 |
| A5 | Sprint 2 Demo and Presentation | SE-PRE-003 | 1.0 | 8 Oct 2026 | 8 |
| A6 | System Document | SE-DSN-003 | 2.0 | 6 Oct 2026 | 32 |
| Extra | Testing Document | SE-TST-002 | 2.0 | 6 Oct 2026 | 12 |
| Extra | Application Manual | SE-DOC-002 | 2.0 | 6 Oct 2026 | 28 |
| Extra | Meeting Minutes | SE-MIN-001 to 009 | 1.0 | 8 Oct 2026 | 11 |
| Extra | Sprint 2 Report | SE-RPT-001 | 1.0 | 8 Oct 2026 | 10 |
The Culprit is the public website of The Cults of Privacy Technologies, a research lab in the Department of Computer Engineering at Chiang Mai University, together with the private console the lab uses to write everything on it. It is one application with one database, and nothing runs in the background apart from three small scheduled jobs.
<aside> <img src="/icons/target_blue.svg" alt="/icons/target_blue.svg" width="40px" />
Public site
About, Research, Publications, Team with a page for each member, Events and Make Appointment. Pages are built in advance, load fast and need no account.
</aside>
<aside> <img src="/icons/code_gray.svg" alt="/icons/code_gray.svg" width="40px" />
Console
One administrator writes and edits everything: lab details, research, publications, teams and members with their CVs, courses and projects, and events with photos, videos and participants.
</aside>
Bookings happen inside an embedded Calendly calendar; nothing about a booking is stored by the system.
| Stakeholder | Interest |
|---|---|
| Visitors | Read about the lab's work and people, see events, book a meeting. They never sign in. |
| Lab director | The customer. Owns the content and the look of the site and approves changes after reviewing them on staging. |
| Administrator | Signs in to publish. One account; its codes go to the shared team mailbox. |
| Development team | Builds and maintains the code, the pipeline and the documents. |
| Developer machine | Staging | Production | Standby | |
|---|---|---|---|---|
| Address | localhost:3000 | culprit.wyco-dev.com | culprits-mystery.party | None |
| Runs on | Node.js | One Docker container on a small VPS, behind Caddy | Vercel | Neon, database only |
| Released by | Saving a file | The pipeline, on every merge to main | By hand, after staging is checked | Sync job, every 6 hours |