Backend Architecture Example

Java 26 Demo

A Spring Boot demo application built around Java 26, showcasing modern Java features, API development, interview exercises, SQL/JPA demos, and practical backend engineering patterns.

Java 26 Demo is a hands-on sandbox designed to explore current Java capabilities while demonstrating software engineering fundamentals. It includes examples from multiple Java releases, interview-style exercises, polymorphism scenarios, SQL and JPA demonstrations, and API-first development. Swagger documents the REST endpoints, while the GraphiQL explorer provides an interactive way to inspect and run GraphQL queries. The project is deployed on AWS Elastic Beanstalk and uses Docker to containerize the application.

Java 26 Spring Boot Gradle H2 Database Swagger / OpenAPI GraphQL SQL / JPA Docker

What It Covers

  • Examples from multiple Java releases
  • Interview exercises for common backend topics
  • Polymorphism examples
  • SQL and JPA demonstrations
  • In-memory H2 database exploration
  • API-first architecture exposed through Swagger/OpenAPI
  • GraphQL queries with an interactive GraphiQL explorer
  • Cloud-ready deployment workflow

Technical Stack

Java 26
Spring Boot
Gradle
H2 Database
Swagger / OpenAPI
Docker

Core Features & Sample Areas

Release Demos

Explore language features from Java 8 through 9, 10, 11, 21, and 26.

Endpoints for SQL & JPA

REST endpoints showcasing repositories, queries, relationships, and data access patterns.

REST & GraphQL APIs

Swagger UI, OpenAPI, and GraphiQL make the REST and GraphQL APIs browsable and easy to test.

H2 Console Access

Browse and query the in-memory H2 database directly during local development.

Java 9 Module Demo

A separate module demonstrates the Java Platform Module System.

Run Anywhere

Run locally, package as a JAR, containerize with Docker, or deploy to cloud hosting.

Using the GraphiQL Explorer

GraphiQL is an interactive workspace for the /graphql API. Unlike a REST endpoint with a fixed response, GraphQL lets you request only the fields you need and follow relationships, such as an employee's team, in the same request.

1

Open GraphiQL

Use the GraphiQL link below when the Java API is online.

2

Choose fields

Open the Docs panel to browse queries, arguments, types, and available fields.

3

Run the query

Paste an example into the editor and press Execute or Ctrl+Enter.

4

Read the result

The response pane shows JSON containing exactly the fields you selected.

Employees and their teams

Nested query

Returns employee details and follows each employee's relationship to a team.

query EmployeesWithTeams {
  employees {
    id
    name
    department
    salary
    bonus
    team {
      id
    }
  }
}

Look up one employee

Query argument

Passes an ID to fetch one record and selects a smaller, focused response.

query EmployeeById {
  employee(id: "1") {
    id
    name
    department
    phoneNumber
    team {
      id
    }
  }
}

No data? Reset the demo

Mutation

If a query returns no records, run this mutation to restore the organization demo data, then retry the query.

mutation ResetOrganizationDemo {
  resetOrganizationDemo
}

Try this: remove salary from the first query and run it again. The field disappears from the response, demonstrating how GraphQL gives the client control over the returned shape.

Why This Project Matters

I built Java 26 Demo to use Java functions too modern to make it into most entierprise tech stacks. Here I've reinforced backend fundamentals and packaged that learning into a cohesive, browsable application. It works as a practical reference, an interview preparation aid, and a portfolio-quality project that demonstrates architecture, language features, data access, documentation, and AWS deployment.