Systém pro správu zakázek/zákazníků optiky (zakázky na brýle, refrakce, zákazníci). Backend je ASP.NET Core Web API + EF Core, frontend Vite/React (SPA) stylovaný knihovnou MUI (Material UI).
Aktivně se vyvíjí pouze projekty uvedené v OptikSW.sln:
OptikSW.Core— obecná rozhraní/rozšíření pro repozitáře.OptikSW.Domain— doménové entity, rozhraní repozitářů, filtry.OptikSW.Infrastructure— EF CoreDbContext, konfigurace entit, implementace repozitářů, migrace.OptikSW.Data.Sql— databázový projekt SQL Server s T-SQL funkcemi.OptikSW.Web.API— ASP.NET Core Web API.optiksw.web.react— frontend (Vite + React + TypeScript).
Ostatní projekty v repozitáři (OptikSW.BusinessLayer, OptikSW.DataServer, optik-sw-web, _OptikSW.Web.React) jsou opuštěný legacy kód a needitují se, pokud to není výslovně požadováno.
- .NET 8 SDK
- Node.js
- SQL Server (lokální nebo dostupný přes síť)
Connection string k SQL Serveru není v appsettings.json (ten je sdílený v repozitáři) — klíč ConnectionStrings:connection je tam záměrně prázdný. Skutečnou hodnotu je potřeba nastavit lokálně přes .NET User Secrets:
cd OptikSW.Web.API
dotnet user-secrets set "ConnectionStrings:connection" "Server=...; Database=OptikSW; User Id=...; Password=...; TrustServerCertificate=True;"
User Secrets se aplikují i při použití nástrojů dotnet ef (přes OptikSWDbContextFactory v OptikSW.Infrastructure), takže stejný krok stačí provést jen jednou pro celé řešení.
V produkci se stejný klíč typicky přepíše přes proměnnou prostředí ConnectionStrings__connection.
dotnet build OptikSW.sln
dotnet run --project OptikSW.Web.API
API v dev prostředí naslouchá na https://localhost:7284 / http://localhost:5022 (viz OptikSW.Web.API/Properties/launchSettings.json).
Aplikace migrací databáze:
dotnet ef migrations add <Name> --project OptikSW.Infrastructure --startup-project OptikSW.Web.API
dotnet ef database update --project OptikSW.Infrastructure --startup-project OptikSW.Web.API
cd optiksw.web.react
npm install
npm run dev
npm run dev mimo jiné generuje/používá HTTPS certifikát z ASP.NET dev-certs (viz vite.config.ts).
Adresa API je natvrdo zapsaná jako config.baseUrl v optiksw.web.react/src/config.ts — pokud se port API změní, aktualizujte obě místa současně.