How dlopezs98/stockitapi works
StockitApi is an inventory and invoicing backend with user authentication, role-based permissions, and operational analytics/observability endpoints. Its main workflow is an authorized client request through an API controller to a domain service, which uses repository-backed persistence for business records. Authentication and role administration form a separate access-control branch; usage metrics and analytics are additional capabilities. The source index supports the shown controller/service and service/persistence calls; analytics and observability internals were not sampled, so their links are omitted.
Main entry points: UnitOfWork.cs Unit of work · AuthenticationService.cs Authentication · UsageMetricsMiddleware.cs Usage metrics · AuthController.cs Auth API
Components 25
API boundary
- Auth API
StockitApi/Controllers/AuthController.cs - Product API
StockitApi/Controllers/ProductsController.cs - Invoice API
StockitApi/Controllers/InvoicesController.cs - Users API
StockitApi/Controllers/UsersController.cs - Roles API
StockitApi/Controllers/RolesController.cs
Identity and access
- Authentication
StockitApi/Services/AuthenticationService.cs - Token service
StockitApi/Services/TokenService.cs - Permission authorization
StockitApi/Authorization/PermissionAuthorizationHandler.cs - Permission rules
StockitApi/Models/Permissions.cs - Role management
StockitApi/Services/RoleService.cs - User management
StockitApi/Services/UserService.cs
Inventory and invoicing
- Product management
StockitApi/Services/ProductService.cs - Invoice processing
StockitApi/Services/InvoiceService.cs - Catalog and stock
StockitApi/Entities/Product.cs - Invoice records
StockitApi/Entities/Invoice.cs
Insights and operations
- Analytics API
StockitApi/Controllers/AnalyticsController.cs - Analytics
StockitApi/Services/AnalyticsService.cs - Observability API
StockitApi/Controllers/ObservabilityController.cs - Observability
StockitApi/Services/ObservabilityService.cs - Usage metrics
StockitApi/Middlewares/UsageMetricsMiddleware.cs - Usage logs
StockitApi/Entities/ApiUsageLog.cs
Persistence
- Unit of work
StockitApi/Data/Repositories/UnitOfWork.cs - EF repositories
StockitApi/Data/Repositories/EfRepository.cs - Application database
StockitApi/Data/StockitContext.cs
Other components
- API client
Connections 25
- API client → Auth API: requests
StockitApi/Controllers/AuthController.cs - API client → Product API: requests
StockitApi/Controllers/ProductsController.cs - API client → Invoice API: requests
StockitApi/Controllers/InvoicesController.cs - API client → Users API: requests
StockitApi/Controllers/UsersController.cs - API client → Roles API: requests
StockitApi/Controllers/RolesController.cs - API client → Analytics API: requests
- API client → Observability API: requests
- Auth API → Authentication: delegates to
StockitApi/Controllers/AuthController.cs - Product API → Product management: delegates to
StockitApi/Controllers/ProductsController.cs - Invoice API → Invoice processing: delegates to
StockitApi/Controllers/InvoicesController.cs - Users API → User management: delegates to
StockitApi/Controllers/UsersController.cs - Roles API → Role management: delegates to
StockitApi/Controllers/RolesController.cs - Authentication → Unit of work: uses repositories
StockitApi/Services/AuthenticationService.cs - Authentication → Token service: issues tokens
StockitApi/Services/AuthenticationService.cs - Product management → Unit of work: uses repositories
StockitApi/Services/ProductService.cs - Invoice processing → Unit of work: uses repositories
StockitApi/Services/InvoiceService.cs - Role management → Unit of work: uses repositories
StockitApi/Services/RoleService.cs - User management → Unit of work: uses repositories
- Permission authorization → Permission rules: checks permissions
- Unit of work → EF repositories: provides repositories
StockitApi/Data/Repositories/EfRepository.cs - EF repositories → Application database: queries and saves
StockitApi/Data/Repositories/EfRepository.cs - Usage metrics → Unit of work: records usage
StockitApi/Middlewares/UsageMetricsMiddleware.cs - Usage metrics → Usage logs: writes logs
StockitApi/Middlewares/UsageMetricsMiddleware.cs - Analytics API → Analytics: delegates to
- Observability API → Observability: delegates to