2026-08-03 04:23:32 -04:00
2026-08-03 04:23:32 -04:00
2026-08-03 04:24:03 -04:00

React-Dotnet Frewaork Sekelon

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. Always. B. Be. C. Cognitivaly 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.

Prerequisites

Backend

From the repository root:

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

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 selected by Persistence:Provider, which currently supports InMemory only; data is lost on restart until a real provider is registered in backend/Data/PersistenceServiceCollectionExtensions.cs.

Frontend

From the repository root:

cd frontend
npm install
npm run dev

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
Description
A full stack project jumpstarter with a simple, but extensible .NET backend and React/Vite frontend client.
Readme 241 KiB
Languages
C# 70.4%
TypeScript 15.8%
CSS 8.2%
JavaScript 3.7%
HTML 1.9%