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.