How nika97z/atm works
This is a console ATM application. A user chooses registration or login in the UI; the service layer handles identity and account workflows, while the repository reads and writes user records in a JSON-lines data file. The service layer also supports account operations and loan requests, and the domain models represent users, accounts, and loans. Evidence is limited to the README (empty) and the supplied excerpts; unsampled service behavior is represented only where its capabilities are visible in the excerpt or source index.
Main entry points: Services.cs Registration and login · Interface1.cs Repository contract · Program.cs Console entry · Repository.cs User repository
Components 16
Console UI
- Console entry
ATM.UI/Program.cs
ATM Services
- Registration and login
ATM.Services/Services.cs - Account operations
ATM.Services/Services.cs - Loan requests
ATM.Services/Services.cs - Admin workflows
ATM.Services/Services.cs
Core Domain
- Repository contract
ATM.Core/Interfaces/Interface1.cs - User roles
ATM.Core/Models/User.cs - Client user
ATM.Core/Models/ClientUser.cs - Admin user
ATM.Core/Models/AdminUser.cs - Account
ATM.Core/Models/Account.cs - Loan
ATM.Core/Models/Loans.cs - Loan statuses
ATM.Core/Enums/LoanStatus.cs - Insufficient funds
ATM.Core/Exceptions/InsufficientFundsException.cs
Persistence
- User repository
ATM.Infrastructure/Repository/Repository.cs - User data file
ATM.Infrastructure/Data/Data.txt
Other components
- ATM user
Connections 16
- ATM user → Console entry: chooses option
ATM.UI/Program.cs - Console entry → Registration and login: registers or logs in
ATM.UI/Program.cs - Console entry → User repository: constructs and injects
ATM.UI/Program.cs - Registration and login → Repository contract: reads and registers
ATM.Services/Services.cs - Account operations → Repository contract: updates clients
ATM.Services/Services.cs - User repository → Repository contract: implements
ATM.Infrastructure/Repository/Repository.cs - User repository → User data file: reads and writes
ATM.Infrastructure/Repository/Repository.cs - Account operations → Insufficient funds: throws and handles
ATM.Services/Services.cs - Registration and login → User roles: checks roles
ATM.Services/Services.cs - Registration and login → Client user: registers clients
ATM.UI/Program.cs - Registration and login → Admin user: registers admins
ATM.UI/Program.cs - Account operations → Account: creates and changes
ATM.Services/Services.cs - Account operations → Client user: updates accounts
ATM.Services/Services.cs - Loan requests → Loan: records requests
ATM.Services/Services.cs - Loan requests → Loan statuses: checks status
ATM.Services/Services.cs - Admin workflows → Repository contract: uses admin records
ATM.Services/Services.cs