This repository contains the source code for the "Meeting System," a full-stack application composed of a .NET backend and an Angular frontend. The project is designed with a clean separation of concerns and is fully containerized for ease of setup and deployment.
The repository is structured into two primary components:
./src/MeetingSystem/: The backend system built with .NET 9, following Clean Architecture principles../src/meeting-system-ui/: The frontend application built with Angular 20+, using a modern, standalone component architecture.
For a comprehensive technical deep-dive into each component, including architecture, setup, and development workflows, please refer to their respective README files:
The project utilizes the following technologies:
| Category | Technology |
|---|---|
| Backend | .NET 9, ASP.NET Core, C# |
| Frontend | Angular 20+, TypeScript, RxJS, SCSS |
| Database | Microsoft SQL Server |
| ORM | Entity Framework Core 9 |
| Infrastructure | Docker, MinIO (Object Storage), Hangfire (Jobs) |
| Authentication | JWT (JSON Web Tokens) |
| Backend Testing | NUnit, Moq, FluentAssertions, Testcontainers |
| Frontend Testing | Karma, Jasmine |
The backend strictly adheres to the Clean Architecture pattern, creating a decoupled and maintainable system with a unidirectional dependency flow: Api → Business → Context → Model. This ensures that the core business logic is independent of UI, database, and external frameworks.
The frontend is built using Angular's latest Standalone Components architecture, which eliminates NgModules and promotes a more modular, tree-shakable, and simplified component design. State management is handled reactively using RxJS observable streams (vm$), providing a declarative and efficient way to manage component state.
The entire application stack (backend, database, storage, etc.) is containerized and can be launched with a single command.
- .NET 9 SDK
- Docker Desktop
- Node.js v18+
- Yarn v4+ (enable with
corepack enable)
-
Start Backend Services: Navigate to the
src/MeetingSystemdirectory, configure your.envfile from the provided template, and run Docker Compose.cd src/MeetingSystem # Create and configure your .env file from .env-template docker-compose up -d
The backend API will be available at
http://localhost:8080. -
Start Frontend Application: In a separate terminal, navigate to the
src/meeting-system-uidirectory, install dependencies, and start the development server.cd src/meeting-system-ui yarn install yarn startThe frontend will be available at
http://localhost:4200.