Skip to content

A demo application for Java, React, TypeScript, Spring Boot, JPA, REST.

Notifications You must be signed in to change notification settings

topikarilainen/issue-tracker

Repository files navigation

issue-tracker

A simple issue tracking application. Status: 🌞 Infrastructure in place. 🚧 Application features under construction.

  • H2
  • Java
  • Maven
  • React
  • REST
  • Spring Boot
  • TypeScript
  • Webpack

Packaging

Java and npm are required to build and run the application.

First transpile and bundle the TSX and CSS source files to JavaScript by running npx webpack. This will transpile the TypeScript JSX into JavaScript and create src/main/resources/static/dist/bundle.js.

After building bundle.js, create a .jar file (e.g. issuetracker.jar):

Windows

.\mvnw package

Linux

./mvnw package

Running

Run the jar file:

java -jar issuetracker.jar

Access the application at http://localhost:8080.

Viewing the sample database

An in-memory H2 database is used for development. When the application is running, you can view the H2 database console at http://localhost:8080/h2-console/. The connection settings are:

Driver Class: org.h2.Driver
JDBC URL: jdbc:h2:mem:testdb
Username: sa
Password: blank

Using the REST service

Get all issues in a project:

Endpoint: /issues
Parameters: projectAbbreviation - the abbreviation of the project. See the example below.

Example: http://localhost:8080/issues?projectAbbreviation=SIA

Get all projects:

Endpoint: /projects
Parameters: None

Example: http://localhost:8080/projects