Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sararasoulian/dotnet-webapi-blazor-sample
💎 A full-stack application built using ASP.NET Core Web API and Blazor Web Assembly
https://github.com/sararasoulian/dotnet-webapi-blazor-sample
bdd blazor-webassembly clean-architecture clean-code cqrs-pattern ddd docker docker-compose dotnet8 entity-framework-core fullstack-development postgresql restful-api spa tdd
Last synced: 2 months ago
JSON representation
💎 A full-stack application built using ASP.NET Core Web API and Blazor Web Assembly
- Host: GitHub
- URL: https://github.com/sararasoulian/dotnet-webapi-blazor-sample
- Owner: SaraRasoulian
- License: mit
- Created: 2024-05-07T18:41:58.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-06-24T17:20:38.000Z (7 months ago)
- Last Synced: 2024-06-24T19:21:27.429Z (7 months ago)
- Topics: bdd, blazor-webassembly, clean-architecture, clean-code, cqrs-pattern, ddd, docker, docker-compose, dotnet8, entity-framework-core, fullstack-development, postgresql, restful-api, spa, tdd
- Language: C#
- Homepage:
- Size: 233 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Student Management Application
A sample full-stack application with a backend __ASP.NET Core Web API__ project and a frontend __Blazor Web Assembly__ project.![Student-M](https://github.com/SaraRasoulian/DotNet-WebAPI-Blazor-Sample/assets/51083712/6a1cb0b0-6de0-4fd8-91fc-02a3ce6bba04)
## Technology Stack
- ASP.NET Core Web API -v8
- Entity Framework Core -v8
- DDD (Domain-Driven Design)
- TDD (Test-Driven Development)
- BDD (Behavior-driven Development)
- Clean Architecture
- Clean Code
- Repository Design Pattern
- CQRS Design Pattern
- Mediator Design pattern
- PostgreSQL Database
- Blazor WebAssembly -v8
- Bootstrap -v5
- Docker#### Nuget Packages
- __xUnit__ for unit, integration and acceptance testing
- __Testcontainers__ for integration and acceptance testing
- __SpecFlow__ for acceptance testing
- __NSubstitute__ for mocking
- __Bogus__ for fake data generating
- __MediatR__ for implementing mediator pattern
- __FluentValidation__ for server-side validation
- __Mapster__ for object mapping
- __Blazor.Bootstrap__ for implementing user-interfaceThis repository is intended for demonstrating best practices in software development. In real-world applications, these practices should be selected based on the specific requirements of each project.
## Run with Docker#### 1. Start with Docker compose
Run the following command in project directory:
```
docker-compose up -d
```Docker compose in this application includes 4 services:
- __Web API application__ will be listening at `http://localhost:5000`
- __Blazor webAssembly application__ will be listening at `http://localhost:8080`
- __Postgres database__ will be listening at `http://localhost:5433`
- __PgAdmin4 web interface__ will be listening at `http://localhost:8000`
#### 2. Run the migrations
Open `StudentManagement.Server.sln` file in visual studio, then in package manager console tab, run:
```
update-database
```This command will generate the database schema in postgres container.
---
Make sure Docker engine is running, before running integration and acceptance tests.