AAU.Ta3leem.Sdk 1.1.20.11
Ta3leem SDK
A comprehensive .NET SDK for integrating with the Iraqi Ministry of Higher Education's Ta3leem API. Provides strongly-typed, resilient interfaces for accessing educational data including organizations, governorates, study years, and student information.
๐ Quick Start
Installation
# Add the NuGet source (first time only)
dotnet nuget add source https://baget.dev.ostk.creativeadvtech.ml/v3/index.json --name AAU-BaGet
# Install the package
dotnet add package AAU.Ta3leem.Sdk
Basic Setup
using AAU.Ta3leem.Sdk;
builder.Services.AddTa3leemSdk(options =>
{
options.BaseUrl = "https://ums-core-api-stg.mohesr.net";
options.ClientId = "your-client-id";
options.ClientSecret = "your-client-secret";
});
Usage Example
public class StudentController : ControllerBase
{
private readonly ISISFindJuniorService _sisService;
public StudentController(ISISFindJuniorService sisService)
{
_sisService = sisService;
}
[HttpGet("{examNumber}")]
public async Task<IActionResult> GetStudent(string examNumber)
{
var result = await _sisService.FindAsync(new SISFindJuniorRequest
{
JuniorExamNumber = examNumber
});
return result.IsSuccess ? Ok(result.Payload) : BadRequest(result.Message);
}
}
๐ Documentation Catalog
Core Documentation
| Document | Description |
|---|---|
| Getting Started | Installation, configuration, first steps, and examples |
| API Reference | Complete API documentation for all 5 services |
| Data Models | Request/response models and JSON converters |
| Architecture | System design, patterns, and technical implementation |
| Testing Guide | Unit tests, integration tests, and best practices |
| Troubleshooting | Common issues, solutions, and debugging tips |
Additional Resources
| Resource | Description |
|---|---|
| Documentation Index | Complete documentation navigation and statistics |
โจ Key Features
- โ 5 Services - Governorate, Organization, StudyYear, UnitType, SISFindJunior
- โ Strongly Typed - Full IntelliSense support with typed models
- โ Resilient - Built-in retry policies, circuit breaker, and timeout handling
- โ Null Safe - Custom converters handle API nulls automatically
- โ Score Safe - Numeric fields guaranteed parseable (never throw exceptions)
- โ Bilingual - Arabic and English support via LocalizedString
- โ Well Tested - 110 tests (65 unit + 45 integration) with 100% pass rate
- โ Easy DI - First-class dependency injection support
- โ Async/Await - Modern async programming throughout
๐๏ธ Available Services
| Service | Description | Documentation |
|---|---|---|
| IGovernorateService | Iraqi governorates (provinces) | API Docs |
| IOrganizationService | Educational organizations & institutions | API Docs |
| IStudyYearService | Academic years management | API Docs |
| IUnitTypeService | Unit type classifications | API Docs |
| ISISFindJuniorService | Student information lookup | API Docs |
๐ค Support & Contributing
Documentation
- Full Documentation Index - Navigate all documentation
- Getting Started Guide - Step-by-step setup
- Troubleshooting - Common issues & solutions
Resources
- NuGet Package: AAU.Ta3leem.Sdk
- Company Website: https://aau.iq/
Development
# Clone and setup
git clone <repository-url>
cd ta3leem-sdk-integration
# Restore and build
dotnet restore
dotnet build
# Run tests
dotnet test
๐ Project Structure
ta3leem-sdk-integration/
โโโ docs/ # ๐ Complete documentation (75+ pages)
โโโ ta3leem-sdk/ # ๐ฆ SDK library (5 services)
โโโ ta3leem-sdk-tests/ # ๐งช Tests (110 tests, 100% passing)
โโโ Directory.Build.props # Version & metadata
โโโ README.md # This file
๐ About
Asl Al-Uroba (AAU) - Powering Innovation, Delivering Excellence
A leading technology company focused on transforming challenges into opportunities through innovative software solutions for the Iraqi Ministry of Higher Education.
Website: https://aau.iq/
Made with โค๏ธ by Asl Al-Uroba (AAU)
No packages depend on AAU.Ta3leem.Sdk.
.NET 9.0
- AAU.Extensions (>= 1.0.0.62)
- Microsoft.Extensions.Http (>= 9.0.6)
- Microsoft.Extensions.Http.Resilience (>= 9.6.0)
- Microsoft.Extensions.Resilience (>= 9.6.0)
- Newtonsoft.Json (>= 13.0.3)
- Refit (>= 8.0.0)
- Refit.HttpClientFactory (>= 8.0.0)