How zainbaig313/automatedinvoicesystem works
InvoiceFlow is an invoice-management API: an account owner manages clients and invoices, sends invoices to customers, and tracks payment proofs through review. Customers can access invoices through public payment links; the application also generates invoice PDFs and monthly reports, sends email reminders, and supports user authentication. The graph highlights controllers, service responsibilities, persistence, and scheduled/email integrations. The README is empty, so capabilities and connections are based on the source index and sampled code; unverified HTTP entry points are shown as dashed.
Main entry points: ApplicationDbContext.cs Application database · InvoiceService.cs Invoice processing · EmailService.cs Invoice email · PublicInvoiceController.cs Public invoice API
Components 19
API surface
- Client API
Controllers/ClientController.cs - Invoice API
Controllers/InvoiceController.cs - Public invoice API
Controllers/PublicInvoiceController.cs - Payment proof API
Controllers/PaymentProofController.cs - User API
Controllers/UserController.cs - User identity helper
Controllers/AuthorizedControllerBase.cs
Application services
- Client management
Services/ClientService.cs - Invoice processing
Services/InvoiceService.cs - Proof review
Services/PaymentProofService.cs - User accounts
Services/UserService.cs - JWT handling
Services/JwtService.cs
Domain and persistence
- Business entities
Models/Entities - Application database
Data/ApplicationDbContext.cs
Background and integrations
- Invoice email
Services/EmailService.cs - Reminder scheduler
Services/ReminderJob.cs
Other components
- Account owner
- Invoice customer
- SMTP server
- SQL Server
Connections 21
- Account owner → Client API: manages clients
- Account owner → Invoice API: manages invoices
- Invoice customer → Public invoice API: views invoice
- Invoice customer → Payment proof API: submits proof
- Client API → Client management: delegates to
Controllers/ClientController.cs - Invoice API → Invoice processing: delegates to
Controllers/InvoiceController.cs - Public invoice API → Invoice processing: requests invoice
Controllers/PublicInvoiceController.cs - Public invoice API → Proof review: handles proof
Controllers/PublicInvoiceController.cs - Payment proof API → Proof review: delegates to
Controllers/PaymentProofController.cs - User API → User accounts: delegates to
Controllers/UserController.cs - Client management → Application database: reads and writes
Services/ClientService.cs - Invoice processing → Application database: reads and writes
Services/InvoiceService.cs - Proof review → Application database: reads and writes
Services/PaymentProofService.cs - User accounts → Application database: reads and writes
Services/UserService.cs - User accounts → JWT handling: uses tokens
Services/UserService.cs - Invoice processing → Invoice email: sends invoice
Services/InvoiceService.cs - Invoice email → SMTP server: sends email
Services/EmailService.cs - Invoice email → Invoice processing: generates PDF
Services/EmailService.cs - Reminder scheduler → Application database: queries invoices
Services/ReminderJob.cs - Reminder scheduler → Invoice email: sends reminders
Services/ReminderJob.cs - Application database → SQL Server: persists data