-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocument.txt
82 lines (81 loc) · 5.05 KB
/
document.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Create By HoaiPhong [2024/05/19]
Tôi chia sẽ kinh nghiệm tìm hiểu làm theo chuẩn net 8 hiện nay,tôi đã làm thực thế nhiều dự án từ net 6 và net 7
Theo Mô hình : CleanArchitecture
Technologies:
-ASP.NET Core 8 (https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-8.0?view=aspnetcore-8.0)
-Entity Framework Core 8 (https://learn.microsoft.com/en-us/ef/core/)
-MediatR (https://github.com/jbogard/MediatR)
-AutoMapper (https://automapper.org/)
-FluentValidation(https://github.com/FluentValidation/FluentValidation)
-Unitest:
FluentAssertions(https://github.com/fluentassertions/fluentassertions)
Moq (https://www.nuget.org/packages/Moq/)
Respawn(https://github.com/jbogard/Respawn)
Các bạn có thể mở code đọc và tham khảo, cũng như đoc qua thư viện để phổ cập mục dích lợi ích để sử dụng,
Ghi chú : Khi các bạn tìm hiểu về Blazor nhớ để ý và nắm rõ phần này để nắm cho thật kỹ Render modes Nó khá hay tùy mục đích sử dụng khi kết hợp cho cả client, server.
Chi tiết qua đường dẫn sau :https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0
Nguồn chi tiết bạn có thể tham khảo link này từ Youtube để nắm kỹ hơn: https://www.youtube.com/watch?v=YwZdtLEtROA
Tôi đã dựng mẫu Base Code tôi đã xử lý :
1.Về cấu trúc Project Xử lý chung bao gồm các tầng:
-Application
-Domain
-Infrastructure
2.Về cấu trúc Project UI:
-Blazor Server.(WebUi)
-Blazor Client.(WebUi.Client)
-Shared
3.Về cấu trúc Project Unitest:
-Application.IntegrationTests
-Application.UnitTests
-Domain.UnitTests
-WebUi.AcceptanceTests
Mọi người clone dự án về chạy từng bước như sau :
1.Mở cmd project
2.cd src\Infrastructure
2.dotnet ef migrations add "Initial" --startup-project ..\WebUi\WebUi --context ApplicationDbContext --output-dir Data\Migrations
Chức năng cơ bản bao gồm :
-Tạo người dùng đăng ký người dùng, Phân quyền người dùng, phân quyền theo nhóm người dùng, hiển thị thông tin chi tiết thông tin người dùng theo cơ chế thư viện Microsoft.AspNetCore.Identity
-Tạo todo list.
-Load những thông tin thời tiết.
=> Về phần kỹ thuật mọi người có thể mở code và tìm hiểu chi tiết cụ thể để tôi mô tả bên dưới.
Có gì không hiểu thắc mắc cứ trao đổi với tôi.Cám ơn đã đọc phần chia sẽ của tôi.
=> Ngoài ra các bạn có thể tìm hiểu thêm bên đây nó khá hay nó đang Open-Source Framework for Modern Web Applications : https://fullstackhero.net/
Created By HoaiPhong [2024/05/23]
I'd like to share my experience in adopting the current .NET 8 standard. I've worked on numerous projects ranging from .NET 6 to .NET 7.
Following the Clean Architecture model, the technologies utilized include:
ASP.NET Core 8 (https://learn.microsoft.com/en-us/aspnet/core/release-notes/aspnetcore-8.0?view=aspnetcore-8.0)
Entity Framework Core 8 (https://learn.microsoft.com/en-us/ef/core/)
MediatR (https://github.com/jbogard/MediatR)
AutoMapper (https://automapper.org/)
FluentValidation (https://github.com/FluentValidation/FluentValidation)
Unit tests:
FluentAssertions (https://github.com/fluentassertions/fluentassertions)
Moq (https://www.nuget.org/packages/Moq/)
Respawn (https://github.com/jbogard/Respawn)
You can explore the code and libraries for reference and understanding purposes.
Note: When delving into Blazor, pay attention to and thoroughly understand the Render modes, as they are quite versatile depending on usage, whether for client-side, server-side, or combined purposes. Details can be found here: https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0
For more in-depth knowledge, refer to this YouTube link: https://www.youtube.com/watch?v=YwZdtLEtROA
I've established a base code template, handling:
Regarding the project structure, it includes the following layers:
Application
Domain
Infrastructure
Concerning the UI project structure:
Blazor Server (WebUi)
Blazor Client (WebUi.Client)
Shared
Regarding the Unit test project structure:
Application.IntegrationTests
Application.UnitTests
Domain.UnitTests
WebUi.AcceptanceTests
To run the project, follow these steps:
Open cmd project.
Navigate to src\Infrastructure.
Run dotnet ef migrations add "Initial" --startup-project ..\WebUi\WebUi --context ApplicationDbContext --output-dir Data\Migrations.
Basic functionalities include:
User management: user registration, user authorization, role-based authorization, group-based authorization, and displaying detailed user information using Microsoft.AspNetCore.Identity library.
Todo list creation.
Loading weather information.
For technical details, feel free to explore the code, and if there are any questions or uncertainties, don't hesitate to discuss with me. Thank you for reading my sharing.
Additionally, you can explore FullStackHero, an open-source framework for modern web applications: https://fullstackhero.net/