Mango Messenger ASP .NET 6 Web API
Mango Messenger is an opensource instant messaging system implemented using .NET Core and Angular frameworks. In general, mango messenger is considered to be a bachelor's degree project. Bachelor's degree has been successfully completed by the team of three students on 10-02-2022. However, it is worth to continue progress on the project pursuing another predefined goals.
StorageV2
account with LRS
redundancyS0 instance with 10 database transaction units
[Serverless]15.2.2
16.13.1
8.7.0
docker-compose build
docker-compose up
16.13.1
using NVM & PowerShell as Administrator: nvm install 16.13.1
16.13.1
using NVM via PowerShell as Administrator: nvm use 16.13.1
16.13.1
): node -v
8.7.0
): npm -v
cd MangoAPI.Client
npm ci
npm install -g @angular/[email protected]
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
ng version
ng build
docker run -e "SA_PASSWORD=x2yiJt!Fs" -e "ACCEPT_EULA=y" --name "mango-mssql-db" --hostname "mango-mssql-db" -p "1433:1433" -d mcr.microsoft.com/mssql/server:2022-latest
npm install -g azurite
azurite --silent --location c:\azurite --debug c:\azurite\debug.log
./img/seed_images/*
to local Azure Blob containercd .. & dotnet restore
dotnet run
https://localhost:5001/swagger/index.html
https://localhost:5001/app
PS: Sometimes it is not convenient for come people to use docker container as database. In this case, you can set db connection string environment variables for web app and integration tests. For example,
Data Source=DESKTOP-CK5PEBD;Initial Catalog=MANGO_DEV;Integrated Security=true;TrustServerCertificate=True;
Data Source=DESKTOP-CK5PEBD;Initial Catalog=MANGO_INTEGRATION_TESTS;Integrated Security=true;TrustServerCertificate=True;
In case of localhost HTTPS certificate issues: https://stackoverflow.com/a/67182991
docker run -e "SA_PASSWORD=x2yiJt!Fs" -e "ACCEPT_EULA=y" --name "mango-mssql-db" --hostname "mango-mssql-db" -p "1433:1433" -d mcr.microsoft.com/mssql/server:2022-latest
npm install -g azurite
azurite --silent --location c:\azurite --debug c:\azurite\debug.log
./img/seed_images/*
to local Azure Blob container.NET 6
ASP .NET
, Angular
MS SQL Server
Entity Framework Core
Azure Blob Storage
ASP .NET Identity
, JWT Bearer
MediatR
Fluent Validation
AutoMapper
OpenAPI (Swagger)
SignalR
Angular
XUnit
, FluentAssertions
SonarQube
Docker
Azure Pipelines
, GitHub Actions
Azure Pipelines
, GitHub Actions
, Azure DevOps
, Azure App Service
C#
, SQL
, TypeScript
Visual Studio
, Rider
, VS Code
, WebStorm
, SMSS
, Postman
On March 14, 2023 Mango Messenger has received the JetBrains Open Source License for 1 year with opportunity to extend next years if opensource conditions met. These licenses are properly shared between active contributors. Thanks to JetBrains from the whole team of Mango Messenger.
Workflow | Status |
---|---|
Build Angular | |
Build Test Coverage | |
Run CNG DH Handshake | |
Run OpenSSL DH Handshake | |
Azure Pipelines | |
Code coverage | |
Quality gate |