### IUBAT Taekwon-Do Forum Portal: Software Requirements Specification
---
#### **Revision History**
| Name | Date | Reason For Changes | Version |
|---------------|--------------|--------------------------|---------|
| Initial Draft | 2025-07-24 | First complete version | 1.0 |
---
### **1. Introduction**
**1.1 Purpose**
This document specifies requirements for the *IUBAT Taekwon-Do Forum Portal*, a web-based platform
for students, instructors, and administrators to manage training activities, events, and community
interactions. It covers user management, event scheduling, rank tracking, and communication features.
**1.2 Document Conventions**
- **Bold text**: Key terms.
- `REQ-XX`: Functional requirements identifiers.
- *Italics*: References to sections/appendices.
- Priority levels: High (H), Medium (M), Low (L).
**1.3 Intended Audience**
- **Developers**: Implement system features (Sections 3–5).
- **Testers**: Verify requirements (Section 4).
- **Administrators**: Understand system scope (Sections 1–2).
- **Instructors**: Review user roles (Section 2.3).
**1.4 Product Scope**
The portal centralizes Taekwon-Do operations at IUBAT, enabling:
- Member registration and belt-rank tracking.
- Event/class scheduling and attendance.
- Discussion forums and resource sharing.
- Administrative reporting.
*Replaces manual record-keeping and disjointed communication tools.*
**1.5 References**
- IUBAT Taekwon-Do Club Charter (v3.1, 2024).
- GDPR Compliance Guidelines (EU, 2018).
- WCAG 2.1 Accessibility Standards.
---
### **2. Overall Description**
**2.1 Product Perspective**
Standalone web application integrating:
- **External Systems**: IUBAT student database (LDAP sync), payment gateway (bXpress).
- **User Flow**:
```plaintext
User → Portal → [Authentication] → Dashboard → [Events/Forum/Profile]
```
**2.2 Product Functions**
- User registration/profile management.
- Class/event scheduling and RSVP.
- Belt progression tracking.
- Moderated discussion forums.
- Admin analytics dashboard.
**2.3 User Classes**
| Class | Characteristics | Key Needs |
|----------------|---------------------------------------------------|----------------------------|
| **Students** | Limited tech skills; access events/forums | RSVP, forum participation |
| **Instructors**| Edit schedules, track student progress | Attendance logging, rank updates |
| **Admins** | Technical; manage users/data | User moderation, reports |
**2.4 Operating Environment**
- **Frontend**: Chrome/Firefox (latest), responsive design (mobile/desktop).
- **Backend**: PHP 8.x, MySQL 8.0, Apache 2.4.
- **Hosting**: Linux (Ubuntu 22.04 LTS).
**2.5 Design Constraints**
- Must integrate with IUBAT’s LDAP for authentication.
- UI must comply with IUBAT brand guidelines (red/white theme).
- GDPR-compliant data handling.
**2.6 User Documentation**
- In-app help tooltips.
- Video tutorials (YouTube).
- PDF user manual (downloadable).
**2.7 Assumptions & Dependencies**
- **Assumption**: 200 concurrent users peak.
- **Dependency**: IUBAT LDAP service availability.
---
### **3. External Interface Requirements**
**3.1 User Interfaces**
- **Dashboard**: Role-based widgets (calendar, announcements, rank progress).
- **Forum**: Threaded discussions with file attachments.
- **Mockups**: See *Appendix B*.
**3.2 Hardware Interfaces**
- N/A (cloud-hosted; no direct hardware control).
**3.3 Software Interfaces**
- **LDAP**: Sync student IDs/emails.
- **bKash/bXpress**: Payment processing for event fees.
- **Email API** (SendGrid): Notifications.
**3.4 Communications Interfaces**
- **HTTPS**: All data transmission.
- **RESTful APIs** for mobile app (future).
---
### **4. System Features**
**4.1 Feature: Event Management**
- **Priority**: High (H).
- **Stimulus/Response**:
```plaintext
Instructor creates event → System emails students → Students RSVP → Dashboard updates.
```
- **Functional Requirements**:
- `REQ-1`: Instructors can schedule events (date/time/location).
- `REQ-2`: Automated reminders 24h before events.
- `REQ-3`: Attendance auto-recorded via QR check-in.
**4.2 Feature: Rank Progression Tracking**
- **Priority**: High (H).
- **Functional Requirements**:
- `REQ-4`: Instructors log belt tests/results.
- `REQ-5`: Students view progress via dashboard visualizations.
---
### **5. Other Nonfunctional Requirements**
**5.1 Performance**
- Load time < 2s (90% of users).
- Support 200 concurrent users.
**5.2 Safety Requirements**
- Data encryption at rest (AES-256).
**5.3 Security**
- OWASP Top 10 compliance.
- Role-based access control (RBAC).
**5.4 Quality Attributes**
- **Usability**: 95% task success rate (new users).
- **Maintainability**: Modular code (test coverage ≥80%).
**5.5 Business Rules**
- Only black-belt instructors can update belt ranks.
- Forum posts require admin moderation if flagged.
---
### **6. Other Requirements**
- **Localization**: Bengali/English support.
- **Legal**: GDPR-compliant data retention (max 2 years post-graduation).
---
### **Appendices**
**Appendix A: Glossary**
- **Dojang**: Training hall.
- **Kup**: Belt rank (e.g., 10th Kup = white belt).
**Appendix B: Analysis Models**
- *Use Case Diagram*: User interactions.
- *ER Diagram*: `User`, `Event`, `Rank`, `Forum_Post` entities.
**Appendix C: TBD List**
1. Final payment gateway API endpoints.
2. Data backup frequency (TBD with IT).
---