Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Event Triangle is a project that leverages the power of event sourcing using .NET and Angular frameworks to manage and track currency transactions. This project employs a cutting-edge approach to data storage and retrieval, capturing each state-changing event in the system to create a comprehensive and reliable transaction history.

License

NotificationsYou must be signed in to change notification settings

EventTriangle/EventTriangleAPI

Repository files navigation

Mango Messenger Logo

EventTriangleAPI

Event Triangle is a project that leverages the power of event sourcing using.NET and Angular frameworks to manage and track currency transactions.This project employs a cutting-edge approach to data storage and retrieval, capturing each state-changing eventin the system to create a comprehensive and reliable transaction history.With a focus on real-time updates and seamless integration between the backend and frontend,EventTriangleAPI offers realtime communication using SignalR.

Required Software

How to run in Debug mode

Build Angular client

  • Install NVM:choco install nvm -y
  • Install NodeJS18.15.0 using NVM & PowerShell as Administrator:nvm install 18.15.0
  • Use NodeJS18.15.0 using NVM via PowerShell as Administrator:nvm use 18.15.0
  • Check NodeJS installed properly (should be18.15.0):node -v
  • Check NPM installed properly (should be9.5.0):npm -v
  • Go to the project folder:cd src/authorization/EventTriangle.Client
  • Restore node modules:npm ci
  • Install Angular CLI globally:npm install -g @angular/cli@15.2.6
  • Open PowerShell as Administrator and type:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  • Check that Angular CLI installed properly:ng version
  • Build project for development using Angular CLI:ng build
  • Run angular client:ng serve

Run required containers

  • docker run --name "event-auth-pgsql-db" -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres:latest
  • docker run --name=rabbit1 -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -d rabbitmq:3-management

Run .NET Services in order

  1. Authorization service
  2. Sender service
  3. Consumer service

Infrastructure diagram

./img/infrastructure_diagram.png

Screenshots

Transactions

./img/transactions.png

Credit Cards

./img/cards.png

Deposit

./img/deposit.png

Contacts

./img/contacts.png

Support

./img/support.png

Tickets

./img/tickets.png

Users

./img/users.png

Technology stack

  • SDK:.NET 8
  • Frameworks:ASP .NET Core,Angular 15
  • Persistence:
    • Database:PostgreSQL 15
    • ORM:Entity Framework Core
  • Authorization:Azure AD
  • Presentation:
    • API Documentation:OpenAPI (Swagger)
    • Realtime Communication:SignalR
    • Frontend Development:Angular 15
    • Microservices communication:RabbitMQ,GRPC
  • Unit and Integration Testing:XUnit,FluentAssertions
  • Containerization:Docker,k8s
  • Continuous Integration:Azure Pipelines,GitHub Actions
  • Continuous Deployment:Azure Pipelines,GitHub Actions,Azure DevOps,Azure K8s Service
  • Programming languages:C#,SQL,TypeScript
  • Tools & IDE:Visual Studio,Rider,VS Code,WebStorm,SMSS,Postman

Useful links

How to run Docker compose

Windows

  • setx EVENT_TRIANGLE_AD_CLIENT_SECRET <YOUR_AD_SECRET>
  • docker-compose up

Linux

  • export EVENT_TRIANGLE_AD_CLIENT_SECRET=<YOUR_AD_SECRET>
  • docker compose up

How to build docker images

Fromsrc folder run:

  • docker build --build-arg FRONT_API_URL="http://localhost:7000/" -t eventtriangle/auth:1.0 -f ./authorization/Dockerfile .
  • docker build -t eventtriangle/consumer:1.0 -f ./consumer/Dockerfile .
  • docker build -t eventtriangle/sender:1.0 -f ./sender/Dockerfile .

About

Event Triangle is a project that leverages the power of event sourcing using .NET and Angular frameworks to manage and track currency transactions. This project employs a cutting-edge approach to data storage and retrieval, capturing each state-changing event in the system to create a comprehensive and reliable transaction history.

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp