Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎟️ TicketSystem

TicketSystem is a backend application for managing support tickets, designed with Clean Architecture principles to ensure clarity, maintainability, and scalability.
The project follows the CQRS (Command Query Responsibility Segregation) pattern, separating commands from queries to simplify development and long-term maintenance.


🚀 Architecture

The solution is organized into four main layers:

  • Core
    Contains domain entities, interfaces, and business logic. Independent from frameworks and external dependencies.

  • Application
    Implements the CQRS pattern with commands and queries. Holds DTOs and application-specific logic.

  • Infrastructure
    Handles database access using Entity Framework Core combined with the Repository Pattern. Implements interfaces defined in the Core layer.

  • API
    Exposes system functionality through REST controllers, enabling communication with clients.


🛠️ Technologies

.NET Logo Docker Logo Azure DevOps Logo PostgreSQL Logo Linux Logo VS Code Logo

  • .NET (C#)
  • Entity Framework Core – ORM for database operations
  • PostgreSQL – relational database running on Docker
  • Docker – containerized database deployment
  • CQRS – separation of read and write logic
  • Repository Pattern – abstracted data access
  • DTOs – structured data transfer between layers
  • Azure DevOps Pipelines – CI/CD, monitoring, and automated deployments
  • Ubuntu – Linux operating system
  • Visual Studio Code – Lightweight code editor

📂 Project Structure

TicketSystem/
│
├── src/
│   ├── TicketSystem.Core/           # Domain layer
│   ├── TicketSystem.Application/    # CQRS, DTOs
│   ├── TicketSystem.Infrastructure/ # EF Core, repositories
│   └── TicketSystem.API/            # Controllers, REST API
│
├── tests/
│   └── TicketSystem.Tests/          # Unit and integration tests
│
└── azure-pipelines.yml              # CI/CD pipeline configuration
│
└── Docker-compose.yml              # Docker PostgreSQL contenerization


⚙️ Getting Started

  1. Clone the repository

    git clone https://github.com/YourAccount/TicketSystem.git
    cd TicketSystem
  2. Apply database migrations

    dotnet ef database update --project src/TicketSystem.Infrastructure
  3. Run the API

    dotnet run --project src/TicketSystem.API

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages