Skip to content

A starter template for application projects, featuring standard GitHub Actions workflows and a Terraform setup for managing GitHub variables and secrets

Notifications You must be signed in to change notification settings

pagopa/template-payments-java-repository

Folders and files

NameName
Last commit message
Last commit date
Nov 28, 2024
Jan 16, 2025
Jan 9, 2025
Jan 8, 2025
Nov 26, 2024
Jan 16, 2025
Nov 21, 2024
Nov 5, 2024
Nov 5, 2024
Nov 5, 2024
Nov 21, 2024
Jan 13, 2025
Jan 9, 2025
Jan 13, 2025
Jan 16, 2025
Jan 9, 2025
Dec 3, 2024
Nov 26, 2024
Nov 26, 2024

Repository files navigation

Example Repository Template

This repository serves as an example template to kick-start your projects with pre-configured files and folders for OpenAPI, Helm, Gradle, Java, and JUnit testing. It is designed to streamline the initial setup of new projects and ensure consistency in project structure.


πŸ“‚ Repository Structure

Here is a quick overview of the files and directories included in this repository:

.
β”œβ”€β”€ .devops/            # DevOps pipelines
β”œβ”€β”€ .github/            # GitHub configuration files
β”œβ”€β”€ gradle/             # Gradle wrapper files
β”œβ”€β”€ helm/               # Helm charts for Kubernetes deployments
β”œβ”€β”€ openapi/            # OpenAPI specification files
β”œβ”€β”€ src/                # Source code for the Java application
β”‚   β”œβ”€β”€ main/
β”‚   └── test/
β”œβ”€β”€ build.gradle.kts    # Gradle build file
β”œβ”€β”€ Dockerfile          # Docker build file
β”œβ”€β”€ README.md           # Project documentation
β”œβ”€β”€ settings.gradle.kts # Gradle settings file
└── .gitignore          # Git ignore rules

πŸš€ Features

πŸ“œ OpenAPI

  • Example OpenAPI specification file (template-payments-java-repository.openapi.yaml) to document your RESTful APIs.
  • Compatible with tools like Swagger and Postman.

βš™οΈ Helm

  • Template Helm charts for deploying your Java application on Kubernetes.
  • Includes values.yaml for parameter configuration and pre-defined deployment manifests.

πŸ”§ Gradle

  • build.gradle file with dependencies and plugins for building, testing, and running your Java application.
  • Compatible with Java 21+.

β˜• Java

  • Example Java application structure with a simple HelloWorld class.

βœ… JUnit

  • Example JUnit test cases under the test/ directory to help you get started with unit testing.

πŸ› οΈ Getting Started

Prerequisites

Ensure the following tools are installed on your machine:

  1. Java 21+
  2. Gradle (or use the Gradle wrapper included in the repository)
  3. Docker (for Helm-related tasks, optional)

Building & Run

Build

./gradlew clean build

Run local

./gradlew bootRun

Write Locks

./gradlew dependencies --write-locks

About

A starter template for application projects, featuring standard GitHub Actions workflows and a Terraform setup for managing GitHub variables and secrets

Resources

Stars

Watchers

Forks