Skip to content

Innovation-In-Software/bc-sw-engineer-java-participant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 

Repository files navigation

Java Software Engineer Bootcamp

Participant lab guides for the Java Software Engineer six-week bootcamp (no solution keys) from Innovation In Software.

Early-career developers build full-stack enterprise Java skills — from JVM foundations through Spring, Kafka, React, PostgreSQL, DevOps, and a production-style capstone.

Audience Early-career developers preparing for enterprise Java roles
Format 6 weeks · theory + hands-on labs
Through-line project Evolving Customer Management Platform (CRM) across Labs 1–52
Repository Innovation-In-Software/bc-sw-engineer-java-participant
Cohort env Shared AWS host 100.22.136.97 · see FINAL-SETUP-README

Start here

  1. Read Final Lab Environment Setup — shared host, Postgres / Kafka / k3s / GHCR
  2. Read Participant Setup README — what you install on the laptop vs what the instructor provides
  3. Skim Week 1 IDE conventionsIntelliJ IDEA Community (primary) and VS Code (optional)
  4. Complete Lab 0 — Development Environment Setup on your laptop (Windows · macOS)
  5. Use the Lab Index for Labs 1–52

All labs run from your laptop. Credentials and kubeconfigs are handed out by the instructor — they are not stored in this Git repository.


What is in this repository

bc-sw-engineer-java-participant/
├── README.md                 ← You are here (synced from course README.participant.md)
├── labs/                     ← Lab guides and setup docs (no solution/ folders)
│   ├── FINAL-SETUP-README.md
│   ├── PARTICIPANT-SETUP-README.md
│   ├── SETUP-INSTRUCTIONS.md
│   ├── TECHNOLOGY-STACK-GUIDE.md
│   └── Week N - …/module-NN/
│       ├── exercises/        ← Week 1 pre-lab practice (when present)
│       └── labN/             ← Lab guide + Windows/macOS how-tos
└── slides/                   ← Student-facing module slide PDFs

No solution/ folders are published here. Complete each lab yourself. Slide PDFs are under slides/. Editable PPTX decks and instructor notes are provided separately by your instructor.


Program overview

Week Theme Labs Focus
1 Java and JVM Foundations 0–7 JVM, syntax, OOP, memory, collections, streams, exceptions
2 Backend, AI Tools and Testing 8–21 Maven, Copilot, SOAP, JUnit/Mockito, Selenium, logging
3 Spring Framework and Enterprise Patterns 22–29 Spring IoC/Boot/WS, layers, profiles, transactions, security
4 Kafka, React, PostgreSQL and Resilience 30–39 Kafka, Resilience4j, React, PostgreSQL, JPA
5 DevOps, CI/CD and Kubernetes (k3s) 40–47 AppSec, Docker, kubectl/k3s, CI/CD, IaC
6 Capstone Project 48–52 Plan → build → secure/deploy → defense

Full lab titles: labs/LABS-INDEX.md. Capstone: Week 6.


Technology stack

Java 21           Spring Boot 3.x   Spring WS         Spring Security
Maven             JUnit / Mockito   GitHub Copilot    SOAP / REST
Apache Kafka 4.0  React             PostgreSQL 17     Spring Data JPA
Docker            Kubernetes (k3s)  Traefik           GitHub Actions
GHCR              Terraform         Ansible           Resilience4j
SLF4J / Logback   Selenium          VisualVM          Node 22

Details: Technology Stack Guide.


Training environment (final for this cohort)

Everything heavy runs on one shared AWS server (us-west-2, IP 100.22.136.97). Students connect out from IntelliJ (or optional VS Code) on their laptop. Full write-up: labs/FINAL-SETUP-README.md.

flowchart LR
  subgraph Laptop["Your laptop"]
    IDE["IntelliJ / VS Code"]
    JDK["JDK 21 + Maven + Git"]
    Code["java-bootcamp workspace"]
  end
  subgraph Shared["Shared AWS lab host"]
    PG["PostgreSQL 17"]
    KF["Kafka 4.0"]
    K3["k3s + Traefik"]
    GHCR["GHCR images"]
  end
  Laptop -->|"connect out<br/>Week 4+"| Shared
Loading
Shared service Endpoint Notes
PostgreSQL 17 100.22.136.97:5432 DB bootcamp; per-student role + schema
Apache Kafka 4.0 100.22.136.97:9092 Single shared broker
Kubernetes (k3s) https://100.22.136.97:6443 Per-student namespace; Traefik on :80/:443
CI / images GitHub Actions + GHCR
You install on the laptop Instructor provides (Google Sheet / Docs)
IntelliJ IDEA Community (primary) · optional VS Code Credentials row (studentNN + password)
JDK 21, Maven 3.9.x, Git JDBC: jdbc:postgresql://100.22.136.97:5432/bootcamp?currentSchema=studentNN
Node 22 (before Week 4) Kafka bootstrap 100.22.136.97:9092
kubectl (before Week 5) Kubeconfig studentNN.yaml
GitHub + Copilot (as assigned) GHCR / org guidance

Confirmed stack: PostgreSQL + GitHub Actions + k3s (kubectl + Traefik Ingress).

Weeks What you need from the env
0–3 Laptop tools only
4 PostgreSQL + Kafka (+ Node 22 for React)
5–6 Above + k3s namespace + GHCR + GitHub Actions

Deploy path (Week 5+): build image → push GHCR → kubectl apply into your namespace.

Reachability requires the class IP allowlist (or instructor VPN). Never commit passwords, kubeconfigs, or .env files.


Clone and navigate

git clone https://github.com/Innovation-In-Software/bc-sw-engineer-java-participant.git
cd bc-sw-engineer-java-participant
  1. Open labs/FINAL-SETUP-README.md
  2. Read labs/_PARTICIPANT-FILE-GUIDE.md once (which file when)
  3. Complete Lab 0 (Windows · macOS) — includes Git identity
  4. Work under ~/java-bootcamp or %USERPROFILE%\java-bootcamp
  5. For each later module: open module-NN/README.md (Week 1) → exercises → one OS how-to → LAB-N-GUIDE.md. Lab 1 Step 0 creates your private java-bootcamp GitHub repo.

Do not treat labs/.../solution/ as your working project unless a lab says otherwise.


Support

© 2026 Innovation In Software Corporation

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors