A legal practice management application built to replace the Excel-based workflows of small law firms.
Status: Active development — core case and financial modules complete, multi-tenant SaaS architecture in progress.
Small law firms run on spreadsheets. Case lists, hearing dates, client advances, attorney fees, office expenses — all tracked manually across multiple Excel files. Data gets lost, calculations drift, and there's no single source of truth.
LexPanel replaces that workflow with a structured, purpose-built application.
Case Management
- Case list with filtering, sorting, and pagination
- Client and opposing party tracking
- Hearing dates and court information
- Case status lifecycle (Open → Closed)
CMK (Criminal Defense Assignments)
- Bar-assigned criminal defense case tracking
- Separate from regular case workflow
Mediation Cases
- Mediation session and appointment tracking
Financial Ledger
- Single financial register per firm
- Attorney fees, client advances, case expenses, office expenses
- Pending / Completed / Cancelled transaction states
- Overdraft warnings on client advance drawdowns
- Conflict of interest detection (same contact on both sides of a case)
- Dashboard: cash position vs. actual earnings separated by design
Contacts
- Unified client and opposing party directory
- Soft-delete with deactivation
Reporting & Import
- Excel export
- Bulk import from existing Excel files
Backend
- .NET 10, C#
- Clean Architecture (Domain / Application / Infrastructure / API)
- CQRS with MediatR
- FluentValidation
- Entity Framework Core 10 + PostgreSQL
- JWT authentication
- ClosedXML for Excel
Frontend
- React 19 + TypeScript + Vite
- Tailwind CSS v4
- shadcn/ui (new-york, neutral)
- TanStack Query v5 + Table v8
- React Router v6
- recharts
Infrastructure
- PostgreSQL 16 (Docker)
- Docker Compose (dev environment)
LexPanel.Domain → Entities, Enums, Interfaces (zero external dependencies)
LexPanel.Application → CQRS Commands/Queries, DTOs, Validators, Behaviors
LexPanel.Infrastructure → Persistence, Repositories, Services, Security
LexPanel.API → Controllers, Middleware, Program.cs
frontend/ → React application
Key patterns:
- Unified
ApiResponse<T>envelope across all endpoints - MediatR pipeline: validation → authorization → handler
- Generic repository with multi-field sort and search
- Audit fields (CreatedAt / UpdatedAt) populated automatically via
SaveChangesAsync
- Case management (list, detail, CRUD)
- CMK assignments
- Mediation cases
- Contact directory
- Financial ledger with transaction rules
- Dashboard summary
- Excel import / export
- Multi-tenant architecture (multiple firms)
- Role-based access control (Owner / Lawyer / Assistant / Viewer)
- Hearing calendar view
- Global search (Ctrl+K)
- Mobile / responsive layout
- Cloud deployment
Private project — not open for contributions at this time.