How discordando/ivorosa-erp-backend works
IvoRosa ERP is a manufacturing and order-fulfillment backend with customer, product-model and dimension management, order lifecycle controls, and Brazilian NF-e issuance. The main workflow enters through the REST API, where application services create and manage orders, persist them through repository implementations, and can orchestrate invoice issuance through the Focus NFe gateway. The README documents additional fiscal lifecycle and industrial state-machine capabilities; unsampled subsystem links are omitted where source evidence is unavailable.
Main entry points: IvoRosa.Api REST Controllers · AppDbContext.cs PostgreSQL Database · Repositories Repository Adapters · CustomerService.cs Customer Management
Components 14
HTTP API
- REST Controllers
IvoRosa.Api
Application Workflows
- Customer Management
IvoRosa.Application/Services/CustomerService.cs - Order Fulfillment
IvoRosa.Application/Services/OrderService.cs - Models & Dimensions
IvoRosa.Application/Services - Invoice Orchestration
IvoRosa.Application/Services/InvoiceService.cs
Business Domain
- Customer & Address
IvoRosa.Domain/Entities/Customer.cs - Orders & Items
IvoRosa.Domain/Entities/Order.cs - Vase Models & Sizes
IvoRosa.Domain/Entities/VaseModel.cs - Invoice State
IvoRosa.Domain/Entities/Invoice.cs
Persistence & Fiscal
- Repository Adapters
IvoRosa.Infrastructure/Repositories - PostgreSQL Database
IvoRosa.Infrastructure/Data/AppDbContext.cs - Focus NFe Client
IvoRosa.Infrastructure/External/FocusNfeClient.cs
Other components
- API Client
- Focus NFe / SEFAZ
Connections 19
- API Client → REST Controllers: sends requests
IvoRosa.Api/Order/OrderController.cs - REST Controllers → Customer Management: delegates customer
IvoRosa.Api/Customer/CustomerController.cs - REST Controllers → Order Fulfillment: delegates orders
IvoRosa.Api/Order/OrderController.cs - REST Controllers → Models & Dimensions: delegates catalog
IvoRosa.Api/VaseModel/VaseModelController.cs - REST Controllers → Models & Dimensions: delegates dimensions
IvoRosa.Api/Dimension/DimensionController.cs - REST Controllers → Invoice Orchestration: delegates invoices
IvoRosa.Api/InvoiceController/InvoiceController.cs - Customer Management → Repository Adapters: uses repositories
IvoRosa.Application/Services/CustomerService.cs - Order Fulfillment → Repository Adapters: loads and saves
IvoRosa.Application/Services/OrderService.cs - Invoice Orchestration → Repository Adapters: uses repositories
IvoRosa.Application/Services/InvoiceService.cs - Invoice Orchestration → Focus NFe Client: requests fiscal work
IvoRosa.Application/Services/InvoiceService.cs - Repository Adapters → PostgreSQL Database: accesses entities
IvoRosa.Infrastructure/Repositories/OrderRepository.cs - Focus NFe Client → Focus NFe / SEFAZ: sends NF-e requests
IvoRosa.Infrastructure/External/FocusNfeClient.cs - Order Fulfillment → Orders & Items: creates and updates
IvoRosa.Application/Services/OrderService.cs - Customer Management → Customer & Address: maps customer data
IvoRosa.Application/Services/CustomerService.cs - PostgreSQL Database → Orders & Items: persists entities
IvoRosa.Infrastructure/Data/AppDbContext.cs - PostgreSQL Database → Customer & Address: persists entities
IvoRosa.Infrastructure/Data/AppDbContext.cs - PostgreSQL Database → Vase Models & Sizes: persists entities
IvoRosa.Infrastructure/Data/AppDbContext.cs - PostgreSQL Database → Invoice State: persists entities
IvoRosa.Infrastructure/Data/AppDbContext.cs - Focus NFe Client → Orders & Items: builds invoice payload
IvoRosa.Infrastructure/External/FocusNfeClient.cs