Enterprise Fullstack Lernpfad

Ein überprüfbarer Weg von Java-Grundlagen bis zu einer vollständigen Enterprise-Anwendung mit Spring Boot, SQL, Security, Angular oder React, Containerbetrieb und Architekturentscheidungen.

1. Zielbild

Am Ende solltest du einfache bis mittlere Enterprise-Anwendungen bauen können:

Backend

REST API mit Java, Spring Boot, Datenbank, Security und Tests.

Frontend

UI mit TypeScript und Angular oder React, inklusive Routing, Forms und API-Anbindung.

Betrieb

Docker, CI/CD, Logs, Health Checks und Grundverständnis für Kubernetes.

Architektur

Modularer Monolith, Microservices, DDD Basics und wartbare Projektstruktur.

2. Technologie-Karte

BereichMuss lernenDanach / Enterprise
Backend SpracheJava LTS, OOP, Collections, StreamsConcurrency, Virtual Threads, JVM-Diagnose
Build & ToolsMaven/Gradle, Git, IDECI Pipelines, Dependency Management
Backend FrameworkSpring BootJakarta EE, Quarkus, Micronaut
APIREST, JSON, ValidationOpenAPI, GraphQL, API Gateway
DatenSQL, PostgreSQL/MySQL, JPATransactions, Redis, Flyway/Liquibase
SecurityAuthentifizierung, Autorisierung, sichere SessionOAuth2, OIDC, BFF, Keycloak, RBAC
TestingJUnit, MockitoTestcontainers, Contract Tests, E2E
FrontendHTML, CSS, JS, TypeScriptAngular, React, Design Systems
DevOpsDocker, CI/CDKubernetes, Helm, Observability

3. Lernpfad in Phasen

  1. Setup: Git, IDE, Terminal, HTTP, JSON, YAML.
  2. Java Grundlagen: OOP, Collections, Streams, Exceptions, JUnit.
  3. Datenbank: SQL, Joins, Indizes, Transaktionen, Datenmodellierung.
  4. Spring Boot: Controller, Service, Repository, REST, DTOs, Validation.
  5. Enterprise Backend: Security, OAuth2/OIDC, Migrationen, Caching, Messaging.
  6. Frontend Basics: HTML, CSS, JavaScript, TypeScript, npm.
  7. Angular oder React: Components, Routing, Forms, HTTP, State.
  8. Fullstack: API Integration, CORS, Auth Flow, Pagination, Uploads.
  9. DevOps: Docker, CI/CD, Kubernetes Basics, Logs, Metrics.
  10. Architektur: Clean Architecture, DDD, Microservices, Event-driven.

4. Backend: Java Enterprise

Kernstack für Start

Java LTS
Maven oder Gradle
Spring Boot
Spring Web
Spring Data JPA
PostgreSQL
Spring Security
JUnit + Mockito
Docker

Danach erweitern

Kafka oder RabbitMQ
Redis
OpenAPI
Testcontainers
Keycloak
Kubernetes
Quarkus oder Micronaut
Jakarta EE

5. Frontend: Enterprise UI

Kernstack für Start

HTML
CSS
JavaScript
TypeScript
Angular oder React
REST API Integration
Forms
Routing
Testing

Empfehlung

Angular bietet ein integriertes Framework mit gemeinsamen Konventionen. React ist eine UI-Bibliothek, die bewusst mit Routing, Datenzugriff und Buildsystem kombiniert wird. Wähle zunächst genau eine Variante anhand von Team, Lebenszyklus, Barrierefreiheit und Testbarkeit.

6. Fullstack Integration

Frontend → REST API → Service Layer → Repository → Datenbank
  • DTOs statt Entities nach außen geben.
  • API Fehler einheitlich formatieren.
  • Autorisierung im Backend erzwingen, nicht nur im Frontend verstecken.
  • Bevorzugt sichere Session oder BFF verwenden; langlebige Tokens nicht im Browser-Speicher ablegen.
  • Pagination, Filtering und Sorting direkt mitdenken.
  • OpenAPI Dokumentation pflegen.

7. DevOps, Cloud & Betrieb

  • Anwendung lokal mit Docker starten.
  • Datenbank über Migrationen versionieren.
  • Tests automatisch in CI ausführen.
  • Logs strukturiert schreiben.
  • Health Endpoint bereitstellen.
  • Secrets nicht ins Repository committen.

8. Projekt-Verzeichnis

enterprise-learning-app/
├── backend/
│   ├── src/main/java/com/example/app/
│   │   ├── controller/
│   │   ├── service/
│   │   ├── repository/
│   │   ├── domain/
│   │   ├── dto/
│   │   ├── security/
│   │   └── config/
│   ├── src/main/resources/
│   │   ├── application.yml
│   │   └── db/migration/
│   ├── src/test/java/
│   ├── pom.xml
│   └── Dockerfile
├── frontend/
│   ├── src/
│   │   ├── app/ oder components/
│   │   ├── pages/
│   │   ├── services/
│   │   ├── models/
│   │   └── styles/
│   ├── package.json
│   └── Dockerfile
├── compose.yaml
├── README.md
└── docs/
    ├── architecture.md
    ├── api.md
    └── decisions.md

9. Empfohlene Reihenfolge

  1. Java + SQL
  2. Spring Boot REST API
  3. JPA + PostgreSQL
  4. Testing
  5. Security mit JWT/OAuth2
  6. HTML/CSS/JavaScript
  7. TypeScript
  8. Angular oder React
  9. Fullstack App
  10. Docker + CI/CD
  11. Kubernetes Basics
  12. Architektur, DDD, Messaging, Observability

10. Quellen

11. Technologieentscheidungen nachvollziehbar treffen

Eine Technologie wird nicht gewählt, weil sie bekannt oder populär ist. Halte für jede wesentliche Entscheidung dieselben Kriterien fest.

Fachlicher Bedarf

Welche Benutzer, Abläufe, Datenmengen und Qualitätsziele müssen tatsächlich unterstützt werden?

Team und Betrieb

Welche Erfahrung, Supportfähigkeit, Observability und Bereitschaftsdienste sind real vorhanden?

Lebenszyklus

Wie lange wird die Lösung betrieben, wie erfolgen Updates, Migration, Rückbau und Datenübernahme?

Nachweis

Welche kleine Architekturprobe belegt Performance, Sicherheit, Integration und Wartbarkeit vor der Festlegung?

Minimales Entscheidungsprotokoll

  1. Problem und Randbedingungen beschreiben.
  2. Mindestens zwei realistische Optionen vergleichen.
  3. Messbare Entscheidungskriterien und Ausschlussgründe notieren.
  4. Entscheidung, Risiken und Zeitpunkt der erneuten Prüfung festhalten.

Zwei wichtige Startentscheidungen

Angular oder React: Entscheide nach benötigter Plattformbreite, Teamkonventionen, Barrierefreiheit, Testbarkeit und langfristigem Betrieb. Beide können Enterprise-Anwendungen tragen.

Modularer Monolith oder Microservices: Beginne modular im Monolithen, solange unabhängige Deployments, Teamautonomie oder unterschiedliche Skalierungsprofile keinen belegbaren Mehrwert liefern.

12. Verantwortungs- und Sicherheitsmodell

EbeneVerantwortlich fürDarf nicht allein entscheiden
FrontendDarstellung, Eingaben, Navigation, Lade- und FehlerzuständeBerechtigung, Preis und fachliche Invarianten
BFF / GatewayUI-gerechte Aggregation, Session-/Token-Vermittlung, RoutingZentrale Fachlogik und Datenbesitz
BackendAutorisierung, Use Cases, Transaktionen und fachliche RegelnBrowser-Navigation und UI-Zustand
DatenbankPersistenz, Constraints, Indizes und atomare ÄnderungenServicegrenzen und Benutzerrechte
PlattformDeployment, Secrets, Telemetrie, Skalierung und RecoveryFachliche Korrektheit

Durchgängiger Request-Nachweis

Benutzeraktion
→ Frontend-Zustand und validierte Eingabe
→ HTTPS-Aufruf gegen versionierten API-Vertrag
→ Authentifizierung und serverseitige Autorisierung
→ Use Case und Transaktion
→ Datenänderung oder Event
→ strukturierte Antwort und sichtbarer UI-Zustand
→ korrelierbare Logs, Metriken und Trace
  • Das Frontend enthält keine Secrets und ist niemals die Autorisierungsinstanz.
  • CORS ersetzt weder Authentifizierung noch Autorisierung.
  • Externe Fehlermeldungen enthalten keine internen Stacktraces.
  • Sensible Daten erscheinen weder in Browser-Logs noch unkontrolliert in Telemetrie.

13. 12-Wochen-Plan

WocheSchwerpunktLieferbarer Nachweis
1Systemkontext, HTTP, Git und UmgebungKontextbild und lauffähiger Build
2Java-Domänenmodell und Unit TestsGetestete Fachregeln ohne Framework
3SQL, Schema und MigrationenVersioniertes Schema mit Testdaten
4Spring-Boot-API und FehlerformatCRUD-API mit Validierung und Problemantworten
5JPA, Transaktionen und IntegrationstestsPersistenter Use Case mit Datenbanktest
6OpenAPI und ClientgrenzeGeprüfter Vertrag und typisierter Client
7TypeScript und UI-GrundstrukturNavigierbare Oberfläche mit Mock-Daten
8Angular oder React, Formulare und ZustandVollständiger vertikaler Use Case
9OIDC/Session, Rollen und BedrohungsmodellGeschützter Use Case mit Negativtests
10Container und CIStart mit compose.yaml und Pipeline
11Logs, Metriken, Trace und DiagnoseKorrelierbarer Request und Betriebsnotiz
12Qualitätsgates, Review und DemoCapstone-Abnahme und Folgeplan

Wochenrhythmus: Verstehen → klein bauen → testen → erklären → Entscheidung dokumentieren.

14. Capstone und Abschlussnachweis

Baue eine kleine Kunden- und Vorgangsverwaltung mit den Rollen Sachbearbeitung, Teamleitung und Administration. Ein vertikaler Kernablauf reicht; durchgängige Qualität ist wichtiger als Funktionsmenge.

Backend & Daten

Spring Boot, klare Schichten, relationale Migrationen, fachliche Invariante und versionierter OpenAPI-Vertrag.

Frontend

Angular oder React mit Routing, Formular sowie Lade-, Leer- und Fehlerzustand.

Security & Tests

Serverseitige Autorisierung, Unit- und Integrationstests sowie ein kritischer End-to-End-Test.

Betrieb

compose.yaml, Health-Endpunkt, strukturierte Logs, Correlation-ID und kurze Diagnoseanleitung.

Abnahmekriterien

  • Ein frischer Checkout lässt sich reproduzierbar bauen und starten.
  • Happy Path, Validierungsfehler, fehlende Berechtigung und technischer Fehler sind demonstrierbar.
  • Frontend und Backend stimmen mit dem API-Vertrag überein.
  • Keine Secrets, Stacktraces oder sensiblen Beispieldaten liegen im Repository oder Browser.
  • Mindestens drei Entscheidungen enthalten Kontext, Alternativen, Folgen und Prüfdatum.
  • Die Lösung kann in 15 Minuten vom Benutzerproblem bis zu Deployment und Diagnose erklärt werden.