How thecoderman2911/advocate-diary works
Advocate Diary is a law-firm case-management web app backed by an ASP.NET Core API. The principal workflow is that a firm user signs in, manages cases and hearing dates, and uses related documents, fees, dashboards, and reports. Angular routes expose these capabilities; API controllers delegate to application services, which use EF Core persistence and selected integrations. The README documents additional identity, masters, notifications, subscription, and public-site capabilities. Some service wiring is unsampled, so those links reflect documented module boundaries rather than inspected call sites.
Main entry points: Controllers Other API modules · app.routes.ts App routes · AppDbContext.cs Application database · Program.cs API host
Components 29
Angular web app
- App routes
frontend/advocate-diary-web/src/app/app.routes.ts - Sign-in screens
frontend/advocate-diary-web/src/app/features/auth/login/login.ts - Auth client
frontend/advocate-diary-web/src/app/core/auth/auth.service.ts - Case screens
frontend/advocate-diary-web/src/app/features/cases/cases-list.ts - Diary screens
frontend/advocate-diary-web/src/app/features/diary/calendar.ts - Case documents
frontend/advocate-diary-web/src/app/features/cases/case-documents.ts - Billing screens
frontend/advocate-diary-web/src/app/features/billing/subscription.ts - Dashboard and reports
frontend/advocate-diary-web/src/app/features/reports/reports.ts - Firm administration
frontend/advocate-diary-web/src/app/features/masters/masters-page.ts
API and application
- API host
backend/src/AdvocateDiary.Api/Program.cs - Authentication API
backend/src/AdvocateDiary.Api/Controllers/AuthController.cs - Case API
backend/src/AdvocateDiary.Api/Controllers/CasesController.cs - Other API modules
backend/src/AdvocateDiary.Api/Controllers
Practice operations
- Authentication service
backend/src/AdvocateDiary.Infrastructure/Auth/AuthService.cs - Case service
backend/src/AdvocateDiary.Infrastructure/Cases/CaseService.cs - Diary service
backend/src/AdvocateDiary.Infrastructure/Diary/DiaryService.cs - Document service
backend/src/AdvocateDiary.Infrastructure/Documents/DocumentService.cs - Billing and fees
backend/src/AdvocateDiary.Infrastructure/Billing/BillingService.cs - Dashboard and reports
backend/src/AdvocateDiary.Infrastructure/Reports/ReportService.cs - Identity and masters
backend/src/AdvocateDiary.Infrastructure/Identity/UserService.cs - Notifications
backend/src/AdvocateDiary.Infrastructure/Notifications/NotificationService.cs
Data and integrations
- Application database
backend/src/AdvocateDiary.Infrastructure/Persistence/AppDbContext.cs - Local file storage
backend/src/AdvocateDiary.Infrastructure/Storage/LocalFileStorage.cs - Email sender
backend/src/AdvocateDiary.Infrastructure/Email/SmtpEmailSender.cs
Public presence
- Marketing pages
frontend/advocate-diary-web/src/app/features/public/landing.ts - Public content
backend/src/AdvocateDiary.Infrastructure/Public/PublicService.cs
Other components
- Firm user
- SQL Server
- Payment gateway
Connections 43
- Firm user → App routes: uses
- App routes → Sign-in screens: routes to
- App routes → Case screens: routes to
- App routes → Diary screens: routes to
- App routes → Case documents: routes to
- App routes → Billing screens: routes to
- App routes → Dashboard and reports: routes to
- App routes → Firm administration: routes to
- App routes → Marketing pages: routes to
- Sign-in screens → Auth client: submits credentials
- Auth client → Authentication API: calls auth endpoints
- API host → Authentication API: maps controllers
- API host → Case API: maps controllers
- API host → Other API modules: maps controllers
- Authentication API → Authentication service: delegates auth
- Case API → Case service: delegates cases
- Case screens → Case API: manages cases
- Diary screens → Other API modules: requests diary
- Case documents → Other API modules: manages documents
- Billing screens → Other API modules: manages billing
- Dashboard and reports → Other API modules: requests reports
- Firm administration → Other API modules: manages firm data
- Marketing pages → Other API modules: requests public content
- Other API modules → Diary service: delegates diary
- Other API modules → Document service: delegates documents
- Other API modules → Billing and fees: delegates billing
- Other API modules → Dashboard and reports: delegates reports
- Other API modules → Identity and masters: delegates administration
- Other API modules → Notifications: delegates notifications
- Other API modules → Public content: delegates public content
- Authentication service → Application database: reads and writes
- Case service → Application database: reads and writes
- Diary service → Application database: reads and writes
- Document service → Application database: reads and writes
- Billing and fees → Application database: reads and writes
- Dashboard and reports → Application database: queries cases
- Identity and masters → Application database: reads and writes
- Notifications → Application database: records delivery
- Public content → Application database: reads content
- Application database → SQL Server: persists data
- Document service → Local file storage: stores and opens files
- Billing and fees → Payment gateway: creates checkout
- Authentication service → Email sender: sends reset email