Software Requirements Specification
1. Introduction
Zadankovac.cz is a web-based issue tracking system designed to help teams efficiently manage tasks, report bugs, and collaborate on projects. It follows an MVC architecture and is built on the .NET 9 framework, ensuring high performance, scalability, and security.
2. System Overview
- Technology Stack: .NET 9 (C#), Entity Framework Core, SQL Server, Razor Views, JavaScript
- Authentication: Identity & JWT-based authentication
- Supported Browsers: Chrome, Firefox, Edge (responsive)
- Hosting: Cloud-based or on-premise deployment
- User Roles: Administrator, Member
3. Functional Requirements
3.1 User Authentication & Authorization
- Role-based access control using Identity authentication
- Support for OAuth 2.0 / JWT token authentication
- Invitation-based user registration
3.2 Issue Management
- Create, update, assign, and close issues
- Categorization using priority levels and severity levels
- Attachments support for issue tracking
- Commenting system with mentions functionality
3.3 Project Management
- Multi-project support based on role
3.4 Notifications & Reporting
- Email notifications
- Mentions
4. Non-Functional Requirements
- Performance: Capable of handling 10,000+ concurrent users
- Security: Data encryption (at rest and in transit), regular backups, and secure API endpoints
- Usability: Intuitive UI with accessibility features
5. Testing Strategy
5.1 Unit Testing
- Unit tests ensure core business logic functions correctly.
- Uses xUnit as the testing framework.
- Mocks dependencies using Fake and Stub implementations.
5.2 Integration Testing
- Integration tests validate complete request/response cycles.
- Ensures authentication, authorization, and data persistence work correctly.
5.3 Database Testing
- Utilizes an in-memory database for fast, isolated test runs.
- Ensures Entity Framework Core operates correctly in .NET 9.