Zakadabar Application Template

Overview

Zakadabar Application Template

This repository contains an application template which you may use to start a new application project based on Zakadabar.

NOTE: This template uses JDK 14, it doesn't work on lower versions.

Create

  1. Create a new repository from this template (Use this template button).

Customize

  1. Check out the new repository with IDEA.
  2. Import the gradle project (optional):
    • IDEA might show you a bubble to "Load Gradle Config", or
    • Right click on build.gradle.kts in IDEA and then click on Import Gradle Project
  3. Edit settings.gradle.kts:
    1. Change project name.
  4. Edit build.gradle.kts
    1. Change group and version.
    2. Change parameters of the "zakadabar:zkCustomise" task:
      1. the package you would like to use,
      2. any other parameters you want to change.
  5. Refresh gradle config in IDEA (optional).
  6. Run the zakadabar:zkCustomize gradle task from IDEA or ./gradlew zkCustomize from a shell.

At this point you have the source code of a fully functioning application.

Run (During Development)

Note You can start the backend and/or the frontend directly from IDEAs Gradle panel. However, there is a bug in the gradle / IDEA combo that sometimes prevents two gradle tasks running at the same time. If your second task does not start, you can: 1) clear the gradle cache 2) open a terminal and issue the gradle command from the project root directory.

Default configuration creates a local H2 database. You can change this in stack.server.yaml. With H2 the first run creates the database in app/var.

Default username and password is so and so. You can change the default password before database initialization in lib.accounts.yaml.

Start the backend with:

./gradlew run

Start the frontend with:

./gradlew jsBrowserRun --continuous

The first step starts the backend server. It listens on 8080. The second step starts a webpack devserver. It listens on 3000.

The webpack dev server forwards anything that starts with '/api' to the backend server.

To reload the web page after code changes, add --continuous to the arguments of the jsBrowserRun run configuration.

Build Distributable Packages

Note: You might need to use IDEAs "Use Excluded Files" option in the "Project" panel to see the build directory.

App Package

./gradlew zkBuild

In the build/app directory you will find:

  • a zip file that contains your application
  • the content of the zip file extracted

Docker

./gradlew zkDocker

In the build/app directory you will find:

  • a zip file that contains your application
  • the content of the zip file extracted
  • a docker compose file which contains a PostgreSQL server and your application

Maven Publish

To sign and publish the artifacts generated by the project to a Maven repository:

  1. Define the parameters (see below) in gradle properties (~/.gradle/gradle.properties) or in environment variables.
  2. Check publishing.kt for publication config.

The signing uses gpg from the operating system, check publishing.kt and the signing Gradle plugin for options.

Gradle property Env variable Explanation
zk.publish ZK_PUBLISH Configure the "publish" gradle task when not null.
zk.publish.snapshot.url ZK_PUBLISH_SNAPSHOT_URL URL of the snapshot repository.
zk.publish.release.url ZK_PUBLISH_RELEASE_URL URL of the release repository.
zk.publish.username ZK_PUBLISH_USERNAME Username for the repository.
zk.publish.password ZK_PUBLISH_PASSWORD Password for the repository.
signing.gnupg.keyName - Name of the key to sign the produced artifacts.
You might also like...
 Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.
Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

Math World is an Android Application specialized in mathematics, where the application includes some sections related to arithmetic, unit conversion, scientific math laws and constants, as well as some mathematical questions that need some intelligence to reach the solution.

Realtime SOS Android Application. Location (GPS + Cellular Network) tracing application by alerting guardians of the User.

WomenSaftey Women Safety Android Application: Realtime SOS Android Application. Designed a Location (GPS + Cellular Network) tracing application by al

Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project
Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

Connect is an Android Application to connect people for a project and can then work on the application to efficiently complete the project

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him 😉
A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tumblr application , But a little prettier than him 😉

A blogging mobile application built with Kotlin using MVC design pattern and Take some advantage of Jetpack , View & Data Binding It's a mimic for Tum

Quiz-Application - A quiz application which uses opentdb api to get quiz of different levels like Easy Hard and Medium
Quiz-Application - A quiz application which uses opentdb api to get quiz of different levels like Easy Hard and Medium

Quiz-Application A quiz application which uses opentdb api to get quiz of differ

The Android Trivia application is an application that asks the user trivia questions about Android development
The Android Trivia application is an application that asks the user trivia questions about Android development

The Android Trivia application is an application that asks the user trivia questions about Android development. It makes use of the Navigation component within Jetpack to move the user between different screens. Each screen is implemented as a Fragment. The app navigates using buttons, the Action Bar, and the Navigation Drawer.

Application: SLA report This application calculates, based on an input, the average duration per service of Axon.

Application: SLA report This application calculates, based on an input, the average duration per service of Axon.

A mobile application that allows you to get random information every time you enter the application.
A mobile application that allows you to get random information every time you enter the application.

Knowledge Repository A mobile application that allows you to get random information every time you enter the application. Google Play Store : Screensh

Owner
Olivér Remény
Student. I like to work on new things. Co-creator of @LogB
Olivér Remény
A template for Advent of Code challenge with input downloading and prepared test classes

Advent of Code Kotlin Template A template which will help you concentrate on the puzzle solutions. It brings Downloading and caching of the puzzle inp

Henning B 2 Dec 1, 2021
Tkhwang advent of code kotlin template

tkhwang-advent-of-code-kotlin-template Welcome to the Advent of Code1 Kotlin pro

Teddy 0 Jan 8, 2022
A Kotlin/JVM Project Template with Gradle

kotlin-project-template A Kotlin/JVM Project Template with Gradle. Clone or npx

cog25 0 Dec 23, 2021
Udacity-shoestore - A template provided for use when building your README file for students

README Template Below is a template provided for use when building your README f

Burak Demir 0 Jan 5, 2022
KotlinSample - Template project for building a GTK3 Kotlin/Native app against the elementary Flatpak runtime

GTK3 Kotlin/Native Sample This is a working example of how to write and build a

David Hewitt 10 Dec 5, 2022
Poc-sealed-secrets - An alternative to store sensitive data in the template Secrets Kubernetes an encrypted way

POC Sealed Secrets Overview Proof of concept with the objective of showing an al

Cainã Ferreira da Silva 2 Jan 28, 2022
Get a libGDX-powered Android live wallpaper up and running quickly with this project template

This project is a libGDX Android live wallpaper template. It's the demo application created by the libGDX code generator, remade as a live wallpaper.

Kurtis LoVerde 1 Jun 30, 2022
Android application compatible with ZX2C4's Pass command line application

Password Store Download Documentation We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen her

Android Password Store 2.2k Jan 8, 2023
Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Android Phishing Application.This Project is for Educational purposes only.The Developer of this application is not responsible of any bad usage

Aria Shirazi 93 Oct 23, 2022