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...
Template (pure) for KMM application with DI support

KMM di template Template (pure) for KMM application with DI support. Uses Multiplatform-DI for Dependency Injection Features Common architecture (VIP)

A template of a client application architecture
A template of a client application architecture

Model-View-ViewModel (ie MVVM) Model-View-ViewModel (ie MVVM) is a template of a client application architecture, proposed by John Gossman as an alter

A template project that builds a SDL application programmed in Zig to Android from scratch

A template project that builds a SDL application programmed in Zig to Android from scratch

A basic template ecommerce application with payment integration made using Android Architechture componets
A basic template ecommerce application with payment integration made using Android Architechture componets

ShopIt ShopIt is a basic template ecommerce application with payment integration(RazorPay), made using Android Architechture componets and Material Co

AndroidappTemplate - A GitHub template repository intended to kickstart development on an Android application

Android App Template This is a GitHub template repository intended to kickstart

This is a GitHub template repository intended to kickstart development on an Android application.

Android App Template This is a GitHub template repository intended to kickstart development on an Android application. This project comes set with a h

Android Viper template with Kotlin, Dagger 2, Retrofit & RxJava
Android Viper template with Kotlin, Dagger 2, Retrofit & RxJava

Android VIPER Architecture Example This repository contains a detailed sample client-server app that implements VIPER(View-Interactor-Presenter-Entity

Under the Hood is a flexible and powerful Android debug view library. It uses a modular template system that can be easily extended to your needs, although coming with many useful elements built-in.
Under the Hood is a flexible and powerful Android debug view library. It uses a modular template system that can be easily extended to your needs, although coming with many useful elements built-in.

Under the Hood - Android App Debug View Library Under the Hood is a flexible and powerful Android debug view library. It uses a modular template syste

Android ViewPager template with cool animation.
Android ViewPager template with cool animation.

glazy-viewpager ViewPager template with cool animation. Preview Dependencies compile 'com.android.support:palette-v7:25.2.0' Usage Refer the implement

This is a template to help you get started building amazing Kotlin applications and libraries.

Welcome to the Starter This is a template to help you get started building amazing Kotlin applications and libraries. Over time, examples will be comp

🧩 A basic compose chrome extension template
🧩 A basic compose chrome extension template

🧩 compose-chrome-extension-template A basic compose chrome extension template on top of compose web 🏃 Run ./gradlew jsBrowserRun 📦 Install Create

💻 A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...
💻 A Compose Desktop project template with MVVM, Dagger, Decompose, tests, and more...

compose-desktop-template A compose desktop project template with MVVM, Dagger, Decompose and more ✨ Demo What's included? Architecture (MVVM) with And

An Android template project (in Kotlin) with boilerplate and current patterns.

android-starter-v4 An Android template project (in Kotlin) with boilerplate and plumbing, exploring current architecture patterns. A bit too much for

Basic template to create a game using minigdx

MiniGDX Game Template Create your first game using miniGDX by clicking the "Use this Template" button above. The game will be configured for: the JVM

Kotlin multiplatform library template.

template-kmp-library Kotlin multiplatform library template. Has a baseline setup for a multiplatform library supporting all kotlin targets except andr

🚀 Android project template with Compose, MVVM, Hilt and Navigation
🚀 Android project template with Compose, MVVM, Hilt and Navigation

compose-android-template An Android project template with MVVM, Hilt, Navigation and Compose ✍️ Author 👤 theapache64 Twitter: @theapache64 Email: the

Kotlin Multiplatform Mobile App Template

KMMT : Kotlin Multiplatform Mobile Template Kotlin Multiplatform Mobile Development Simplified KMMT is a KMM based project template designed to simpli

 KMMT : Kotlin Multiplatform Mobile Template
KMMT : Kotlin Multiplatform Mobile Template

Kotlin Multiplatform Mobile App Template

Template for building CLI tool in Kotlin and producing native binary

Kotlin command-line native tool template This template allows you to quickly build command-line tool using Kotlin , Clikt and build a native binary fo

Owner
null
Android Template to accelerate the creation of new projects.

Stack What How User Interface Compose Dependency Injection Hilt State Management Mavericks Caching Room Networking Retrofit Information This project i

André Ramon 9 Jan 23, 2022
A Job Queue specifically written for Android to easily schedule jobs (tasks) that run in the background, improving UX and application stability.

Development in this repository is stopped. Future development continues on https://github.com/yigit/android-priority-jobqueue ========================

Path Mobile Inc Pte. Ltd. 2.4k Dec 9, 2022
The SSI Kit is a technology stack for enabling Self-Sovereign Identity (SSI) in any application.

Walt.ID SSI Kit The Walt.ID SSI Kit is a holistic SSI solution, with primarily focus on the European EBSI/ESSIF ecosystem. The core services are in th

walt.id 53 Dec 29, 2022
Create a simple one screen application with scrollable table view

Create a simple one screen application with scrollable table view

Nikola Crnogorac 0 Jan 2, 2023
An application for runners and cyclists. Allows you to monitor your physical activity, weight and receive reminders about workouts.

An application for runners and cyclists. Allows you to monitor your physical activity, weight and receive reminders about workouts.

Just_Amalll 3 Feb 7, 2022
BlackBox - a virtual engine, it can clone and run virtual application on Android

BlackBox is a virtual engine, it can clone and run virtual application on Android, users don't have to install APK file to run the application on devices. BlackBox control all virtual applications, so you can do anything you want by using BlackBox.

null 1.6k Jan 3, 2023
UpSchool Capstone Project - Course selling application with MVVM, LiveData, DataBinding, Retrofit, Room Database, Navigation Component, Adapter, Firebase Auth, Picasso, Lottie

UpSchool Capstone Project - Course selling application with MVVM (Model, View, ViewModel), LiveData, DataBinding, Retrofit, Room Database, Navigation Component(NavGraph, BottomNav), Adapter, Firebase Auth, Picasso, Lottie

Sena Çelik 5 Dec 21, 2022
Zakadabar Application Template

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

Olivér Remény 0 Nov 16, 2021
Arrow-Maven-Template - A template project for Arrow with Maven. It defines an application and a couple small examples

Arrow-Maven-Template A template project for Arrow on Maven. See the official doc

ΛRROW 0 Jan 11, 2022
Intellij-platform-plugin-template - IntelliJ Platform Plugin Template

IntelliJ Platform Plugin Template TL;DR: Click the Use this template button and

null 0 Jan 1, 2022