Skip to content

cfun724-collab/sims

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

SIMS — SMM Insurance Management System SIMS is an internal insurance management platform for Specialty Market Managers, LLC. It manages the full insurance workflow from submission through policy issuance, billing, accounting, and reporting. Documentation File Contents architecture.md System architecture, project structure, layer responsibilities infrastructure.md Azure services, secrets management, local dev setup backend.md API controllers, services, domain entities frontend.md Pages, components, API modules, tech stack integrations.md QBO, Azure AD, Graph API, Gemini, Syncfusion deployment.md Deployment guide and next steps Quick Start Prerequisites .NET 8 SDK Node.js 18+ PostgreSQL client tools Azure CLI ( az login required for local dev) Docker (optional) Backend cd backend/src/SIMS.API $env :ASPNETCORE_ENVIRONMENT = " Development " dotnet run

Download Compiled Loader

API available at http://localhost:5000

Swagger at http://localhost:5000/swagger Frontend cd frontend npm install npm run dev

App available at http://localhost:5173 Type Check cd frontend && npx tsc --noEmit Database Migrations

Add a migration (run from repo root) ~ /.dotnet/tools/dotnet-ef migrations add < Name

--project backend/src/SIMS.Infrastructure --startup-project backend/src/SIMS.API

Apply migrations ASPNETCORE_ENVIRONMENT=Development
~ /.dotnet/tools/dotnet-ef database update
--project backend/src/SIMS.Infrastructure
--startup-project backend/src/SIMS.API Note: dotnet build must be run from the backend/ directory. Running from the repo root appears to succeed but does not rebuild the API DLL. Known Gotchas EF Core + Rating Tables — column name mismatch All rating-related tables ( rating_plans , rating_plan_versions , factor_tables , factor_rows , eligibility_rules , carrier_rating_assignments , equipment_types , territories , quote_rating_snapshots , quote_rating_lines , rating_plan_version_impact_previews ) were created via raw SQL migrations using lowercase snake_case column names. There is no global UseSnakeCaseNamingConvention() , so EF Core defaults to quoting PascalCase identifiers ( r."Id" , r."RatingPlanId" ). PostgreSQL rejects these against lowercase columns: 42703: column r.Id does not exist Fix: Every rating entity configuration in SIMS.Infrastructure/Data/Configurations/Rating/ must include explicit HasColumnName("snake_case_name") for all properties, including base entity columns ( id , created_at , updated_at , is_deleted , deleted_at ). Exception: Columns added via migrationBuilder.AddColumn(name: "PascalCase", ...) (e.g. CreatedById , LastEditedById on rating_plan_versions ) are PascalCase in the DB and do not need remapping. Manually-created migrations must have a designer file Migrations created by hand (not via dotnet-ef migrations add ) are silently ignored unless they have a .Designer.cs file. Without it, the migration lacks the [DbContext] and [Migration] attributes EF needs — migrations list won't show them and database update will say "already up to date." Minimal designer file: // using Microsoft . EntityFrameworkCore ; using Microsoft . EntityFrameworkCore . Infrastructure ; using Microsoft . EntityFrameworkCore . Migrations ; using SIMS . Infrastructure . Data ; #nullable disable namespace SIMS . Infrastructure . Migrations { [ DbContext ( typeof ( ApplicationDbContext ) ) ] [ Migration ( "20260503230000_Rating_IM_Seed" ) ] partial class Rating_IM_Seed { } } Foreign keys referencing the users table The Identity table is named users (lowercase) with an EF-managed PK column "Id" (PascalCase). In raw SQL migrations:

plain SQL FOREIGN KEY (col) REFERENCES users ( " Id " )

inside a C# verbatim string @"..." FOREIGN KEY (col) REFERENCES users ( " " Id " " )

About

sims

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors