An open API service indexing awesome lists of open source software.

https://github.com/wloescher/lcms

Full stack web application - SQL, C#, Blazor
https://github.com/wloescher/lcms

blazor-server bootstrap entity-framework-core full-stack-web-development net-core-8

Last synced: about 2 months ago
JSON representation

Full stack web application - SQL, C#, Blazor

Awesome Lists containing this project

README

          

# LCMS - Legal Case Management System

Web application that enables attorneys to manage legal cases, associate clients and documents, and schedule court appearances.
- [x] Blazor Server
- [x] C# / .NET 8 (Core)
- [x] EF Core Power Tools
- [x] Entity Framework
- [x] SQL Express
- [x] Responsive Design (Bootstrap)

---

## Setup ##

1. Run the db script file "lcms-create-db.sql" to create the SQL database.
2. Right click on the Presentation/LCMS.Blazor project and select "Set as Startup Project".
3. To launch the application, hit F5 or selected Debug > Start Debugging.
4. When you run the app for the first time, the database will be populated with sample data.
5. To log in, choose any of the following username / password combos:
- admin / admin (Full Access)
- attorney / attorney (Limited Access)
- paralegal / paralegal (Limited Access)

### Cases ###
| Feature | Admin | Attorney | Paralegal | Complete |
|----------------------|-----------------|---------------|------------------|-------------|
| View Cases | ✓ | ✓ | ✓ | ✓ |
| Search Cases | ✓ | ✓ | ✓ | ✗ |
| Add Case | ✓ | ✓ | ✓ | ✗ |
| Edit Case | ✓ | ✓ | ✓ | ✗ |
| Delete Case | ✓ | ✗ | ✗ | ✗ |
| View Case Comments | ✓ | ✓ | ✓ | ✓ |
| Add Case Comment | ✓ | ✓ | ✓ | ✗ |
| Edit Case Comment | ✓ | ✓ | ✓ | ✗ |
| Delete Case Comment | ✓ | ✗ | ✗ | ✗ |
| View Case Documents | ✓ | ✓ | ✓ | ✓ |
| Add Case Document | ✓ | ✓ | ✓ | ✗ |
| Upload Case Document | ✓ | ✓ | ✓ | ✗ |
| Edit Case Document | ✓ | ✓ | ✓ | ✗ |
| Delete Case Document | ✓ | ✗ | ✗ | ✗ |
| View Case Notes | ✓ | ✓ | ✓ | ✓ |
| Add Case Note | ✓ | ✓ | ✓ | ✗ |
| Edit Case Note | ✓ | ✓ | ✓ | ✗ |
| Delete Case Note | ✓ | ✗ | ✗ | ✗ |
| View Case Users | ✓ | ✓ | ✓ | ✓ |
| Add Case User | ✓ | ✓ | ✓ | ✗ |
| Delete Case User | ✓ | ✗ | ✗ | ✗ |

### Clients ###
| Feature | Admin | Attorney | Paralegal | Complete |
|----------------------|-----------------|---------------|------------------|-------------|
| View Clients | ✓ | ✓ | ✓ | ✓ |
| Search Clients | ✓ | ✓ | ✓ | ✗ |
| Add Client | ✓ | ✓ | ✓ | ✗ |
| Edit Client | ✓ | ✓ | ✓ | ✗ |
| Delete Client | ✓ | ✗ | ✗ | ✗ |

### Users ###
| Feature | Admin | Attorney | Paralegal | Complete |
|----------------------|-----------------|---------------|------------------|-------------|
| View Users | ✓ | ✓ | ✓ | ✓ |
| Add User | ✓ | ✗ | ✗ | ✗ |
| Edit User | ✓ | ✗ | ✗ | ✗ |
| Delete User | ✓ | ✗ | ✗ | ✗ |
| View User Accounts | ✓ | ✗ | ✗ | ✓ |
| Add User Account | ✓ | ✗ | ✗ | ✗ |
| Edit User Account | ✓ | ✗ | ✗ | ✗ |
| Delete User Account | ✓ | ✗ | ✗ | ✗ |

### Misc. ###
| Feature | Admin | Attorney | Paralegal | Complete |
|----------------------|-----------------|---------------|------------------|-------------|
| Login / Logout | ✓ | ✓ | ✓ | ✓ |
| View Reports | ✓ | ✓ | ✓ | ✗ |
| Add Court Dates | ✓ | ✓ | ✓ | ✗ |
| Edit Court Dates | ✓ | ✓ | ✓ | ✗ |
| Delete Court Dates | ✓ | ✓ | ✓ | ✗ |

---

## Key Requirements ##

### 1. Authentication & Authorization ###
- [x] Implement user authentication with login/logout functionality.
- [x] Use role-based authorization (e.g., Admin, Attorney, Paralegal).

### 2. Core Features ###

#### 2.1 Case Management ####
- [x] Create, edit, and delete cases.
- [x] Associate cases with clients and attorneys.
- [x] Track case status (e.g., Open, Closed, In Progress).
- [x] Assign a case type (e.g., Criminal, Civil, Family Law).

#### 2.2 Client Management ####
- [x] Add, edit, and delete clients.
- [x] Store client contact details.
- [x] Associate clients with one or multiple cases.

#### 2.3 Document Management ####
- [ ] Upload, view, and delete case-related documents.
- [x] Associate documents with specific cases.
- [x] Display metadata (e.g., uploaded by, date uploaded).

#### 2.4 Notes & Communications ####
- [x] Attorneys can add case notes.
- [x] Support an internal commenting system on cases.

### 3. UI & User Experience ###
- [x] Implement responsive design for desktop and mobile.
- [x] Use data grids for case, client, and document listings.

### 4. Data Storage & Access ###
- [x] Use Entity Framework Core with a SQL database.
- [x] Implement repository pattern for data access.
- [x] Use Blazor’s dependency injection for services.

### 5. Reporting & Search ###
- [ ] Implement a search functionality for cases and clients.
- [ ] Generate basic reports (e.g., open cases, upcoming court dates).