Skip to content

Commit 7f72209

Browse files
authored
Translate README sections to English and enhance details
Updated README.md to include English translations for functionality and architecture sections, and added details about system password configuration.
1 parent 50f875e commit 7f72209

1 file changed

Lines changed: 34 additions & 28 deletions

File tree

README.md

Lines changed: 34 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,46 @@
11
# ATM [Hexagonal Architecture]
22

3-
Реализация системы банкомата с Web API интерфейсом (ASP.NET Controllers) и in-memory хранилищем.
4-
5-
## Функциональность
6-
- создание сессии пользователя (AccountNumber + PIN)
7-
- создание сессии администратора (SystemPassword + AccountNumber)
8-
- создание счёта (только через admin session)
9-
- просмотр баланса
10-
- пополнение счёта
11-
- снятие денег
12-
- просмотр истории операций
13-
14-
Любая операция со счётом создаёт запись в истории.
15-
16-
## Архитектура
17-
Проект построен по гексагональному подходу:
18-
- **Domain** — доменная модель и value objects
19-
- **Application** — бизнес-логика/юзкейсы (порты)
20-
- **Application.Abstractions** — абстракции (репозитории, провайдеры и т.п.)
21-
- **Application.Contracts** — контракты запросов/ответов и результаты операций
22-
- **Infrastructure** — реализации абстракций (in-memory репозитории), регистрация DI
23-
- **Presentation** — ASP.NET Web API (Controllers), маппинг HTTP → порты
24-
25-
Связывание слоёв выполнено через `Microsoft.Extensions.DependencyInjection`.
26-
Каждый модуль предоставляет методы расширения для регистрации зависимостей:
3+
Implementation of an ATM system with a Web API interface using ASP.NET Controllers and in-memory storage.
4+
5+
## Functionality
6+
7+
- creating a user session using AccountNumber + PIN
8+
- creating an administrator session using SystemPassword + AccountNumber
9+
- creating an account, available only through an admin session
10+
- viewing the account balance
11+
- depositing money into an account
12+
- withdrawing money
13+
- viewing transaction history
14+
15+
Any account-related operation creates a record in the transaction history.
16+
17+
## Architecture
18+
19+
The project follows the hexagonal architecture approach:
20+
21+
- **Domain** — domain model and value objects
22+
- **Application** — business logic / use cases through ports
23+
- **Application.Abstractions** — abstractions such as repositories, providers, and similar components
24+
- **Application.Contracts** — request/response contracts and operation results
25+
- **Infrastructure** — implementations of abstractions, including in-memory repositories, and DI registration
26+
- **Presentation** — ASP.NET Web API Controllers and HTTP-to-port mapping
27+
28+
The layers are connected using `Microsoft.Extensions.DependencyInjection`.
29+
30+
Each module provides extension methods for dependency registration:
31+
2732
- `builder.Services.AddApplication();`
2833
- `builder.Services.AddInfrastructure();`
2934

30-
## Конфигурация системного пароля
31-
Системный пароль читается через `ISystemPasswordProvider` (реализация в `Atm.Presentation.Common.SystemPasswordProvider`)
32-
и берётся из конфигурации:
35+
## System Password Configuration
36+
37+
The system password is read through `ISystemPasswordProvider`, implemented in `Atm.Presentation.Common.SystemPasswordProvider`, and is taken from the configuration.
3338

3439
`appsettings.json`:
40+
3541
```json
3642
{
3743
"SystemAuth": {
3844
"SystemPassword": "your_password_here"
3945
}
40-
}
46+
}

0 commit comments

Comments
 (0)