Dự án xây dựng API mã nguồn mở trên nền tảng .NET Core 7, sử dụng Clean architecture và Repository pattern
Sao Việt API là một công cụ tạo dữ liệu tự động cho các ứng dụng phần mềm. Nó cung cấp dữ liệu về giáo viên, lớp học, học sinh... Sử dụng Sao Việt API giúp cho việc lấy dữ liệu trở nên dễ dàng và nhanh chóng.
Các thành phần chính của API bao gồm:
- Quản lý dữ liệu: Là một dự án .NET Core 7, sử dụng Entity Framework Core để quản lý dữ liệu. Dữ liệu được lưu trữ trong cơ sở dữ liệu SQL Server.
- Loggging: Sử dụng trình quản lý ghi nhật ký Elastic Stack để quản lý nhật ký.
- Giám sát: Sử dụng trình quản lý giám sát Prometheus và Grafana để giám sát tình trạng của API.
- Cache: Sử dụng memory cached để lưu trữ dữ liệu cache.
- Giao diện người dùng: Sử dụng Swagger để triển khai giao diện người dùng.
API được thiết kế theo kiến trúc Clean architecture. Các thành phần chính của kiến trúc bao gồm:
- Domain: Là các đối tượng thể hiện các bảng trong cơ sở dữ liệu.
- Application: Là các lớp xử lý nghiệp vụ của API.
- Infrastructure: Là các lớp cung cấp các dịch vụ như cơ sở dữ liệu, giao diện người dùng, nhật ký, giám sát, cache...
- WebApi: Là các lớp cung cấp các API cho người dùng.
API sử dụng mô hình Repository pattern để truy xuất dữ liệu. Mô hình này bao gồm các thành phần sau:
- Interface: Là một interface chứa các phương thức truy xuất dữ liệu.
- Repository: Là một lớp thực thi interface.
- Service: Là một lớp chứa các phương thức xử lý nghiệp vụ.
Để phát triển API, bạn cần cài đặt các thành phần sau:
- .NET Core 7
- SQL Server 2022
- ELK Stack
- Prometheus
- Grafana
Để cài đặt môi trường cho việc phát triển API, bạn cần cài đặt các thành phần sau:
🐳 Ngoài ra có thể triển khai môi trường một cách nhanh chóng bằng cách sử dụng Docker.
Đầu tiên, bạn cần pull image .NET 7 từ Docker Hub:
docker pull mcr.microsoft.com/dotnet/core/sdk:7.0Khởi động container .NET 7:
docker run -it --name dotnet7_container -p 8080:80 microsoft/dotnet:7.0-runtimeCài đặt SQL Server:
docker pull mcr.microsoft.com/mssql/serverKhởi động container SQL Server:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d mcr.microsoft.com/mssql/serverNgoài ra, bạn cũng có thể sử dụng Docker Compose để khởi động môi trường phát triển.
Cuối cùng, bạn cần khởi động API bằng cách chạy lệnh sau:
dotnet run
📝 Lưu ý: Nếu bạn sử dụng Docker, bạn cần chạy lệnh sau để khởi động API:
docker run -it --name dotnet7_container -p 8080:80 -v /path/to/project:/app microsoft/dotnet:7.0-runtime
Sau đó, bạn cần thiết lập các thành phần như Elastic Stack, Prometheus và Grafana. Để làm được điều này, bạn cần chạy lệnh sau:
docker-compose up -d
Để sử dụng được các thành phần này, vui lòng tham khảo tạo trang Wiki.
Sau khi khởi động API, bạn có thể truy cập vào giao diện người dùng của API tại địa chỉ http://localhost:(port)/swagger
. Với port được thiết lập trong file appsettings.json
.
Sau đó tiến hành cấu hình kết nối với SQL Server.
Đầu tiên thay đổi chuỗi kết nối trong file appsettings.json
"ConnectionStrings": {
"DefaultConnection": "Data Source=your_server;Initial Catalog=your_database;User ID=your_username;Password=your_password; Integrated Security=True; TrustServerCertificate=True"
}
Xoá các Migration cũ:
dotnet ef migrations remove
Tạo Migration mới:
dotnet ef migrations add InitialCreate
Lưu ý:
Cơ sở dữ liệu cần được tạo trước khi chạy lệnh này.
Cuối cùng, cập nhật cơ sở dữ liệu:
dotnet ef database update
- Xem Các thay đổi tại trang Changelog
- Xem tài liệu về cách sử dụng API tại trang API Documentation
- Xem quy tắc ứng xử tại trang Contributor Covenant Code of Conduct
- Xem đóng góp tại trang Contributing
- Xem chính sách bảo mật tại trang Privacy Policy
Sao Việt API là một dự án mã nguồn mở và được phát triển bởi các đóng góp của các thành viên sau:
Nguyễn Xuân Nhân 💻 |
Nguyễn Đình Ánh 📝 |
Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với tôi qua các kênh sau:
Sao Việt API được phát hành theo giấy phép MIT.
@Copyright (C) 2023 4FT. All rights reserved