From c6ad7c620f7a4ec99bbeedc9e75514e83dda31d8 Mon Sep 17 00:00:00 2001 From: kjannette Date: Mon, 3 Aug 2026 08:32:13 +0000 Subject: [PATCH] Update README.md --- README.md | 47 +++++++++++++++-------------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 39fee87..0e460f7 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,47 @@ # 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 maintained "skeleton" repos they could clone to jumpstart new projects. +Why? It was quick, free and worked. # A.B.C. - A. Always - B. Be. - C. Cognitively TokenWoxxxening +# Skel Arch: a full-stask project jumpstarter with: -### This is a full-stask project jumpstarter with: - - -### .NET backend -### React/Vite frontend - +### .NET backend (with existing endpoints/services most applications required) +### React/Vite frontend (just the facts m'am) # .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. ## Prerequisites - - [.NET SDK](https://dotnet.microsoft.com/download) (project targets `net10.0`) - [Node.js](https://nodejs.org/) (LTS recommended) - ## Backend - -From the repository root: - +From 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 @@ -68,13 +49,10 @@ 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 @@ -85,18 +63,17 @@ The app runs at `http://localhost:3000`. Copy `.env.example` to `.env.development` (or `.env.local`) if you need to customize the API URL: + ``` 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 @@ -104,3 +81,9 @@ frontend/ React + Vite + TypeScript SPA + + + + + +