Setting Up the React Project
Setting Up the React Project
~12 Min. Lesezeit Zuletzt aktualisiert am August 8, 2026
Time for the OTHER half of our full-stack system: aufgaben-manager-web, a standalone React project ALONGSIDE aufgaben-manager-api, that consumes EXACTLY that API.
Top-level project structure
Two SIBLING projects, no shared repository needed
aufgaben-manager/ ├── aufgaben-manager-api/ ← from chapters 2-6 └── aufgaben-manager-web/ ← NEW, this chapter
DELIBERATELY TWO separate projects instead of a monorepo – EXACTLY the separation typical in real full-stack teams too: the backend team works on aufgaben-manager-api, the frontend team on aufgaben-manager-web, connected EXCLUSIVELY via the HTTP API.
Creating the project
npm create vite@latest aufgaben-manager-web -- --template react-ts
cd aufgaben-manager-web
npm installreact-ts instead of just react from the earlier React courses – THIS course uses TypeScript THROUGHOUT, since chapter 80 uses automatically generated TypeScript types from the API specification, and that benefit would be lost without TypeScript.
Already now: installing dependencies for later
npm install react-router-dom
npm install @tanstack/react-query axiosreact-router-dom (from chapter 81), @tanstack/react-query (from chapter 73), and axios (from chapter 74) – we install them ALREADY here, so the base structure is ready for the coming chapters, without repeatedly interrupting later with npm install.
Cleaning up the Vite template
function App() {
return (
<div>
<h1>aufgaben-manager-web</h1>
</div>
);
}
export default App;npm run dev
# opens at http://localhost:5173A preview of the target structure
Target structure after blocks 9-10
aufgaben-manager-web/ ├── .env ├── src/ │ ├── App.tsx │ ├── main.tsx │ ├── api/ │ │ └── client.ts │ ├── types/ │ │ └── api.ts ← generated from the OpenAPI specification (chapter 80) │ ├── hooks/ │ ├── components/ │ └── pages/ └── package.json
Tipp: From now on, both projects run IN PARALLEL: docker compose up -d in aufgaben-manager-api/, npm run dev in aufgaben-manager-web/ – two terminal windows, one single full-stack system.