Stack Name - Spark Micro Web Framework

Synopsis

The is the base reusable implementation for Spark Micro Web Java type tech stacks used to create a complete Java web app using the lightweight Spark Micro Web Framework. The stack includes:
  • Spark:
    • This framework is a great alternative to heavier Java frameworks like Spring or Strut2, and is great solution for microservices implementations.
  • Hibernate:
    • An object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database
  • JUnit:
    • Unit testing framework for Java
  • JQuery:
    • A JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax
  • Bootstrap:
    • An open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components

Details

Author dev@harbormaster.ai
Access Public
Derived From .java.tech.stack .hibernate.tech.stack
Long Name Spark Micro Web Framework
Short Name SparkMicroWeb
Language(s) Java 8+, Javascript, YAML, XML, Velocity Macros
Git Url https://github.com/Harbormaster-AI/techstacks/tree/main/Spark%20Micro%20Web%20Framework
Example Project YAML https://github.com/Harbormaster-AI/cli/blob/main/samples/yamls/project.as.code/sparkmicroweb-project-as-code.yml

Contents

Along with what is supported by the parent  tech stack (.java.tech.stack), the following are overridden and additional capabilities:
  • Build/Maven:
    • A customer pom.xml to invoke Spark via Maven plugin
  • Build/Docker:
    • A customer Dockerfile with entrypoint.sh to execute the generated app as an Uber jar file.
  • App Controller:
    • Singleton used to handle application routing according to Spark requirements.

Usage

If using a CI/CD platform such as CircleCI, AWS Codebuild, Jenkins, etc.., it is best to refer to the Pipeline YAML file generated for that platform. If not using a CI/CD platform refer to the instructions below on how to use the generated project.

To get started manually

In the root directory of the generated project is a generated Maven pom.xml file that contains the declarations and dependencies to run the application within the Spark container.
mvn clean install
By default, Spark listens on port 4567, accessible through the browser via:
http://your_host_name_or_ip_address:4567