src/MyYuCode/: ASP.NET Core Web API (net10.0) with EF Core (SQLite).Api/: minimal API endpoint mappings (seeApiEndpoints.cs).Controllers/: REST controllers.Data/:MyYuCodeDbContextand entity models.Contracts/andServices/: shared DTOs and business logic.
web/: Vite + React + TypeScript UI.web/src/: app code; the@/alias maps here.web/public/: static assets; build output inweb/dist/.
MyYuCode.slnx: solution referencing the backend project.
Backend:
dotnet build src/MyYuCode/MyYuCode.csproj— compile the API.dotnet run --project src/MyYuCode/MyYuCode.csproj --launch-profile http— run onhttp://localhost:9110(use--launch-profile httpsforhttps://localhost:9111).
Frontend (from web/):
npm ci— install dependencies (usespackage-lock.json).npm run dev— start Vite dev server.npm run build— typecheck and build toweb/dist/.npm run lint— run ESLint.
- C#: 4-space indentation; nullable reference types are enabled—avoid introducing new warnings. Use
PascalCasefor types/methods andcamelCasefor locals/parameters. - Frontend: components in
PascalCase.tsx, hooks inuseX.ts. Prefer importing via@/…when applicable. - Formatting: no repo-wide formatter is enforced; keep diffs focused and run lint before opening a PR.
- Automated tests are not set up yet (no
*.Tests.csprojor JS test runner). If adding tests, place them undertests/and ensuredotnet testruns.
- Git history is empty; use a consistent convention going forward (e.g., Conventional Commits:
feat: …,fix: …,chore: …). - PRs should include a short summary, testing notes (commands run), and screenshots for UI changes. Avoid committing build artifacts (
bin/,obj/,web/dist/,web/node_modules/).
- The API creates a local SQLite database at
LocalApplicationData/myyucode/myyucode.sqlite; delete it to reset local state. - Environment-specific settings live in
src/MyYuCode/appsettings*.json.