From d55a006a4011bcc2086ad32e08957631b8768c32 Mon Sep 17 00:00:00 2001 From: kjannette Date: Mon, 3 Aug 2026 08:27:25 +0000 Subject: [PATCH] Update README.md --- README.md | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0ca65bf..39fee87 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,66 @@ -# React-Dotnet Frewaork Sekelon +# React-Dotnet Framework Sekelon + + +Once upon a time, people maintained "skeleton" repos they could clone to quickly jumpstart new projects. Why? It was quick, free and it worked. -Once upon a time, people maintinaed "skeleton" repos they could clone to quickly jumpstart new projects. Why? It was quick, free and it worked. # A.B.C. -A. Always B. Be. Cognitively TokenWoxxxening + +A. Always + + +B. Be. + + +C. Cognitively TokenWoxxxening + ### This is a full-stask project jumpstarter with: + ### .NET backend ### React/Vite frontend + # .Net - Five CRUD endpoints return correct status codes: - - 201 with a proper Location header - 400 on invalid email, 409 on duplicate, 204 then 404 on delete), 150 requests to /v1/info yielded exactly 100 successes and the rest 429, and 40 requests to /health all returned 200 while that window was exhausted. + + +Five CRUD endpoints return correct status codes: +201 with a proper Location header +400 on invalid email, 409 on duplicate, 204 then 404 on delete), 150 requests to /v1/info yielded exactly 100 successes and the rest 429, and 40 requests to /health all returned 200 while that window was exhausted. + ## Prerequisites + - [.NET SDK](https://dotnet.microsoft.com/download) (project targets `net10.0`) - [Node.js](https://nodejs.org/) (LTS recommended) + ## Backend + From the repository root: + ```bash cd backend dotnet run ``` + The API runs at `http://localhost:5231`. Swagger UI is available in Development at `http://localhost:5231/swagger`. + Skeleton endpoints: + - `GET /health` — liveness check, exempt from rate limiting - `GET /v1/info` — app name, version, environment, and server timestamp - `GET|POST /v1/users`, `GET|PUT|DELETE /v1/users/{id}` — placeholder CRUD over the - in-memory repository + in-memory repository + Requests are rate limited per client IP using the `RateLimiting` section of `appsettings.json`, and allowed CORS origins come from the `Cors` section. Storage is @@ -46,10 +68,13 @@ selected by `Persistence:Provider`, which currently supports `InMemory` only; da lost on restart until a real provider is registered in `backend/Data/PersistenceServiceCollectionExtensions.cs`. + ## Frontend + From the repository root: + ```bash cd frontend npm install @@ -66,11 +91,16 @@ VITE_API_BASE_URL=http://localhost:5231 ## Running both + Start the backend and frontend in separate terminals. The backend CORS policy allows requests from `http://localhost:3000` by default; change `Cors:AllowedOrigins` in `backend/appsettings.json` to add more. ## Project structure + ``` backend/ ASP.NET Core Web API frontend/ React + Vite + TypeScript SPA ``` + + +