Platform making learning easy. Which is still in progress and another modules will be added in the near future.
- Sign-Up
- Sign-In
- Check User Profile
- Get All Users
- Modify User
- Refresh Access Token
- Revoke Refresh Token
From the root directory:
docker build -t edux .
From the ./edux/compose directory:
docker compose -f infrastructure.yml up -ddocker compose -f infrastructure.yml down
To test the REST API you can use the EduX.http file from the solution - REST Client in Visual Studio Code is required.
We can use NBomber to start performance tests. This steps are required:
dotnet run -c Releasefrom Bootstrapper leveldotnet test
The tests' report is available under this path - EduX\tests\Modules\Users\Edux.Modules.Users.Tests.Performance\bin\Debug\net7.0\reports
The OpenAPI specification is available under this endpoint - http://localhost:4000/swagger/v1/swagger.json
Swagger documentation is available under this endpoint - http://localhost:4000/swagger/index.html
ReDoc documentation is available under this endpoint - http://localhost:4000/docs/index.html
OpenTracing Metrics are available under this endpoint - http://localhost:4000/metrics
Logs in Seq are available under this endpoint - http://localhost:5341
Metrics in Prometheus are available under this endpoint - http://localhost:9090
Dashboards with Metrics from Prometheus are available in Grafana under this endpoint - http://localhost:3000
Vault Dashboards as a Secret Manager is available under this endpoint - http://localhost:8200/ui/vault
Bootstrapper Entry Point is available under this endpoint - http://localhost:4000
List of Enabled Modules is available under this endpoint - http://localhost:4000/modules
Changing Logging Level can be done via this endpoint - POST http://localhost:4000/logging/level?level=information
Redis Connection - http://localhost:6379
RabbitMQ UI - http://localhost:15672
MSSQLServer Connection - http://localhost:1433
Health Checks of Liveness Probes - http://localhost:4000/health-checks/live
Health Checks of Readiness Probes - http://localhost:4000/health-checks/ready
From module's directory level
-
Creating Migration
dotnet ef migrations add Users_Module_Init --startup-project ..\..\..\Bootstrapper\Edux.Bootstrapper\ -o ./EF/Migrations --context UsersWriteDbContext -
Update Database
dotnet ef database update --startup-project ..\..\..\Bootstrapper\Edux.Bootstrapper\ --context UsersWriteDbContext
All GraphQL requests go through this endpoint - http://localhost:4000/graphql
We can play with GraphQL via Playground UI under this endpoint - http://localhost:4000/ui/playground
Example of GraphQL query for Users Module:
query { userMe { email id role createdAt updatedAt claims } }
Example of GraphQL subscription for Users Module:
subscription { returnedUserMe { email } }
List of available gRPC services - http://localhost:4000/grpc-endpoints
List of Users Proto contract files - http://localhost:4000/users-proto/users.proto