No description
- C# 59.4%
- HTML 26%
- CSS 8%
- JavaScript 6.1%
- Dockerfile 0.5%
| .idea/.idea.MemberRecord/.idea | ||
| API/MemberRegAPI | ||
| Core/MemberRecord.Application | ||
| docs | ||
| Infrastructure/Persistence | ||
| MemberRecord.Domain | ||
| MemberRegWeb | ||
| Tests | ||
| .dockerignore | ||
| .editorconfig | ||
| .env.example | ||
| coverage.runsettings | ||
| docker-compose.infra.yml | ||
| docker-compose.yml | ||
| global.json | ||
| MemberRecord.sln | ||
| MemberRecord.sln.DotSettings.user | ||
| README.md | ||
MemberReg - .NET Blazor Member Registry
A project to practice modern .NET architecture and project structure while learning web development with Blazor in .NET 10.
🏗️ Architecture
This project follows Clean Architecture principles with the following structure:
- MemberRecord.Domain - Domain entities and core business logic
- MemberRecord.Application - Application services, contracts, and use cases
- Infrastructure/Persistence - Database context, repositories, and data access
- API/MemberRegAPI - ASP.NET Core Web API
- MemberRegWeb - Blazor WebAssembly frontend
🚀 Quick Start
Prerequisites
- .NET 10 SDK
- Docker or Podman
- SQL Server (via Docker or local installation)
- Redis (via Docker or local installation)
Running with Docker/Podman
# Start all services
podman compose up --build
# Or with Docker
docker compose up --build
Access URLs
| Service | URL |
|---|---|
| Web UI | http://localhost:5001 |
| API | http://localhost:5000 |
| Swagger | http://localhost:5000/swagger |
📁 Project Structure
memberreg/
├── API/
│ └── MemberRegAPI/ # ASP.NET Core Web API
├── Core/
│ └── MemberRecord.Application/ # Application layer
├── Infrastructure/
│ └── Persistence/ # Data access layer
├── MemberRecord.Domain/ # Domain entities
├── MemberRegWeb/ # Blazor WebAssembly frontend
├── Tests/ # Unit and integration tests
└── docs/ # Documentation
📚 Documentation
| Document | Description |
|---|---|
| Docker Setup | Complete guide for running the application with Docker/Podman |
🧪 Testing
The project includes comprehensive tests:
- MemberRecord.Application.UnitTests - Application layer unit tests
- MemberRegAPI.UnitTests - API unit tests
- MemberRegAPI.IntegrationTests - API integration tests
- MemberReg.IntegrationTests - General integration tests
- MemberRegWeb.UnitTests - Frontend unit tests
# Run all tests
dotnet test
# Run with coverage
dotnet test --collect:"XPlat Code Coverage" --settings coverage.runsettings
🛠️ Development
Adding New Migrations
cd Infrastructure/Persistence
dotnet ef migrations add YourMigrationName --startup-project ../../API/MemberRegAPI
Building
dotnet build MemberRecord.sln
📝 License
This project is for educational purposes.