in development
MIT License
Messaging Platform is a real-time messaging application that allows users to create accounts, send messages, and engage in live communication. It is built using a range of modern technologies with a focus on scalability, maintainability, and adherence to Clean Architecture principles and Domain-Driven Design (DDD). This document provides an overview of the system, its architecture, and instructions on how to set up and run the project.
Backend:
Frontend:
Testing:
This project follows the Clean Architecture pattern, which emphasizes separation of concerns and independence of components:
Domain Layer: Contains core business logic and entities following DDD principles. This layer is completely isolated from any external dependencies.
Application Layer: Implements the application's use cases using MediatR for CQRS (Command Query Responsibility Segregation) and defines application service interfaces.
Infrastructure Layer: Contains implementations of the repository patterns, database context with EntityFrameworkCore, and integration with external systems like SignalR for real-time communication.
Presentation Layer (Web API): ASP.NET Core Web API exposing endpoints for user registration, authentication, and messaging functionalities.
Client (Frontend): Built using Angular and TypeScript, providing a user-friendly interface for account management and real-time messaging.
Clone the repository:
git clone https://github.com/sentemon/MessagingPlatform.git
cd MessagingPlatform
Build and run the application: Use Docker Compose to build and start both the backend and the frontend along with the database:
docker compose up --build
Access the application:
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to modify the sections based on the specific requirements of your project.