1.1 Purpose
TDD stands for Technical Design Document. The purpose of this is to provide detailed source of truth for what our app should do and how it should do it. Its purpose is not to provide implementation details and specific syntax expectations. Our job as developers is to map the semantic information in this TDD to working code, and our feature work is done when the repo is fully consistent with the TDD (but of course bugs are a thing).
1.2 Background
The current OCSL party registration process relies heavily on manual processing and disconnected systems:
Current Inefficiencies:
- Staff manually process each registration individually
- Citation tracking scattered across multiple spreadsheets
- First-time user Party Smart class attendance tracked manually
- No automated address verification system (students manually verified)
- Eligibility checking (citations, class completion, deadlines) performed manually
- Police receive a separate static spreadsheet from OCSL
This manual approach creates significant administrative burden for OCSL staff and provides a suboptimal experience for both students and police officers.
1.3 Goals
- Limit manual labor for OCSL staff to entering attendance for registration
- Create a friendlier registration process for students, providing instant feedback on what steps are required
- Employ a more straightforward user experience for police officers, providing dynamic search and filtering for parties
1.4 Target Users
Student
- Students within the UNC Chapel Hill system
- User Goal: Register their party with the OCSL system