Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/openkoda/openkoda

Open source business application platform for fast development
https://github.com/openkoda/openkoda

business-application-platform customizable development-tools java multitenancy open-source openkoda spring-boot

Last synced: about 1 month ago
JSON representation

Open source business application platform for fast development

Lists

README

        


Openkoda Logo


Ready-to-use development platform that accelerates the process of building business applications and internal tools.



License: MIT
Openkoda: 1.5.1
Java: 17.0.2
Spring Boot: 3.0.5


* **Reduce development time and effort**. Use pre-built functionalities and out-of-the-box features.
* **Adopt a flexible and scalable approach**. Build applications with dynamic entities. Choose from multiple multi-tenancy models.
* **Use technology you already know**: Java, Spring Boot, JavaScript, HTML, Hibernate, PostgreSQL
* **Extend as you wish**. Openkoda offers unlimited customization and integration options.

![openkoda admin](https://github.com/openkoda/.github/assets/14223954/9acded2e-a3e6-4480-805e-7ac38ebdafc0)

### πŸ“ŒContents

🧩 [Integrations](#-integrations)\
πŸš€ [How to start](#-getting-started)\
βœ… [Out-of-the-box features](#-out-of-the-box-features)\
πŸ‘¨β€πŸ’» [Tech stack](#-tech-stack)\
πŸ’‘ [Sample applications](#-sample-applications)\
πŸ’‘ [Application screenshots](#-application-screenshots)\
πŸ’™ [Contribution](#-contribution)\
πŸ“œ [Release notes](#️-release-notes)\
🀝 [Partners](#-partners)

### 🧩 Integrations

Enhance your application by adding integrations.

#### Open Source


logo-slackΒ Β 
logo-discordΒ Β 
logo-basecampΒ Β 
logo-githubΒ Β 
logo-jiraΒ Β 
logo-trelloΒ Β 

#### Enterprise


logo-googleΒ Β 
logo-facebookΒ Β 
logo-stripeΒ Β 
logo-ms-teamsΒ Β 
logo-ldapΒ Β 

### πŸ‘¨β€πŸ’» Tech stack
* Java (17+)
* Spring Boot 3.x
* Hibernate
* PostgreSQL
* GraalVM

### πŸš€ Getting started

#### Installation

There are two installation options to start application development with Openkoda:
* Building from sources
* Running as a Docker container

#### Option #1: Build from Source

Prerequisites:

Git, Java 17+, Maven 3.8+, PostgreSQL 14+

1. [Create an empty database](https://github.com/openkoda/openkoda.git)
2. Clone or download this Git repository
3. Build application with maven:
```
mvn -f openkoda/pom.xml clean install spring-boot:repackage -DskipTests
```
4. Initialize the database in a first run:
```
java -Dloader.path=/BOOT-INF/classes -Dspring.profiles.active=openkoda,drop_and_init_database -jar openkoda.jar --server.port=
```
5. Run Openkoda
```
java -Dloader.path=/BOOT-INF/classes -Dsecure.cookie=false -jar openkoda.jar --spring.profiles.active=openkoda --server.port=
```

Detailed instructions can be found in the [Installation](https://github.com/openkoda/openkoda/blob/main/openkoda/doc/installation.md) manual.

#### Option #2: Run as a Docker Container

Docker images are available at Docker Hub : https://hub.docker.com/r/openkoda/openkoda

It can be launched via simple:
```
docker pull openkoda/openkoda:latest
```

Please note that in that case Postgres needs to be already in place and `SPRING_DATASOURCE_URL`, `SPRING_DATASOURCE_USERNAME`, `SPRING_DATASOURCE_PASSWORD` env variables needs to be adjusted when running docker ([see Docker Hub for detailed options](https://hub.docker.com/r/openkoda/openkoda))

##### Docker compose

A simpler option may be to use the Docker Compose scripts located in the: `./docker/docker-compose.yaml` and `./docker/docker-compose-no-db.yaml` - depending on your preference, with or without Postgres as a part of the docker service. Here is a useful one-liner :
```
curl https://raw.githubusercontent.com/openkoda/openkoda/main/docker/docker-compose.yaml | docker compose -f - up
```

### βœ… Out-of-the-box features

To significantly reduce development time and effort, Openkoda offers pre-built functionality and out-of-the-box features.

#### πŸ”€ Dynamic entities:
Create database table, CRUD functionality, form, and overview with no need of re-compilation

#### πŸ› οΈ Application admin panel:
* **App Configurations**: Manage email settings, roles, privileges, and HTML templates.
* **Audit Screen**: Track changes to data for accountability.
* **System Logs**: Review logs for activity insights and troubleshooting.
* **System Health**: Get a quick overview of system performance and status.

#### πŸ‘€User Management
* Invite users to the organization
* Set roles globally and within the organization context
* Access user profile settings
* Spoof user (available in admin mode)

#### πŸ”‘ Roles and Privileges
* Create global or organization-specific roles
* Assign privileges from a list to each role

#### 🏒 Organization management
* Separate organization data
* Implement security rules for data access
* Customize your own dashboard
* Assign organizational roles, such as member or admin, to users.

#### πŸ“ CMS
* Modify HTML templates
* Edit draft versions of resources
* Introduce new public resources

#### πŸ—‚οΈ Resource Management
* Manage file overview
* Resize images
* Set files to public access

#### πŸ”Š Event Listeners:
Respond to application events (e.g., user creation, login, application start) with built-in Openkoda handlers (e.g., messaging, push notifications).

#### πŸ’Ύ Backups:
Embedded database backup routines

#### πŸ“₯ Import and export:
Export components from current app and easily import them into another Openkoda Core instance

#### πŸ—„οΈ Multiple Multi-tenancy models:
Openkoda supports the following multi-tenancy setups:
* Single Database / Single Schema
* Single Database / Many Schemas
* Multiple Databases / Many Schemas

See [multitenancy setup](https://github.com/openkoda/openkoda/blob/main/openkoda/doc/installation.md#multitenancy-setup) for more details

#### πŸ”„ Job Requests
Schedule jobs to be performed in time intervals
Process jobs with event listeners

#### πŸ”” Notifications

Synchronize your application with notifications channels:
Email
Slack
Jira
GitHub
Trello
Basecamp

#### βœ‰οΈ Email Sender
Customize email templates via CMS
Schedule emails

### πŸ’‘ Sample applications

Openkoda Application Templates are sample applications built with Openkoda.

They represent a standard set of functions for a traditional web application provided by Openkoda Core, as well as business functionalities created specifically for these examples.

Application Templates can be easily extended, taking into account both the data storage schema and any custom functionality.

Learn more in our [5-minute guide](https://github.com/openkoda/openkoda/blob/main/openkoda/doc/5-minute-guide.md).

**Timelog**

Timelog is a time tracking solution for companies of all sizes. It allows employees to record hours spent on specific tasks, while managers generate monthly performance reports. [Learn more](https://openkoda.com/time-tracking-software/).

![timelog user](https://github.com/openkoda/openkoda/assets/14223954/ecaf54d2-6112-4c45-a67f-15ac7b150452)
![timelog admin](https://github.com/openkoda/openkoda/assets/14223954/e9669bef-5929-4fd6-92e8-8e35865a9261)

**Insurance Policy Management**

Insurance Policy Management is a dynamic policy data storage tool with a variety of embeddable widgets for personalized customer and policy dashboards.
Widgets include: message senders, email schedulers, attachment and task lists, notes, and detailed customer/policy information to improve operational efficiency and customer engagement. [Learn more](https://openkoda.com/insurance-policy-management-software/).

![insurance user](https://github.com/openkoda/openkoda/assets/14223954/cb2f4065-59a4-42da-915d-4fd3d810fc19)
![insurance admin](https://github.com/openkoda/openkoda/assets/14223954/ac47b4ba-246e-4772-b47c-69bbfe8512fe)

**Weather App**

A sample application that provides weather forecast for selected vacation spots.

Watch the short video to see the building process:
[![How to build a weather app in less than 20 minutes?](https://github.com/openkoda/openkoda/assets/10715247/19c670f1-281f-463c-b93c-0715ebef6402)](https://youtu.be/gob4j072Isg)

### πŸ’‘ Application screenshots

CMS

openkoda-frontendresource-all

Organization Settings

openkoda-organization-settings

Job Request

openkoda-job-request

Event Listener

openkoda-event-listener

Forgot Password

openkoda-forgot-password

### πŸ’™ Contribution

Openkoda is an open source project under [MIT license](https://github.com/openkoda/openkoda/blob/main/LICENSE). It’s built by developers for developers.

If you have ideas for improvement, contribute and let's innovate together.

How to contribute:
1. Create a fork
2. Create a feature branch from main branch
3. Push
4. Create a Pull Request to an upstream main branch

[**Detailed contribution rules**](https://github.com/openkoda/openkoda/blob/main/openkoda/CONTRIBUTING.md)

### πŸ“’ Follow, learn, and spread the word

[Openkoda Community](https://github.com/orgs/openkoda/repositories): Become a part of Openkoda\
[YouTube](https://www.youtube.com/channel/UCN0LzuxOYIDdKDX9W0sGFlg): Learn how to use Openkoda\
[LinkedIn](https://www.linkedin.com/company/openkoda): Stay up to date\
[About us](https://openkoda.com/about-us/): Let us introduce ourselves

### πŸ—ƒοΈ Release notes

Openkoda is constantly evolving. Check out the changelog:

#### Openkoda 1.5. πŸš€

* **Dynamic Entities**: Now create database tables, perform full CRUD operations and generate forms.
* **New Dashboard UI**: Enhanced for better readability and smoother navigation flow.
* **Files Assignment**: Support for dynamically registered entities.
* **Organization-Level Email Configuration**: Customize email settings at the organization level.
* **Bug Fixes**: Various fixes for improved app stability and performance.

#### Openkoda 1.4.3.

* **Page Builder**: Introducing a tool for creating custom dashboards.
* **Web Forms Assistance**: Streamlined web form creation based on your data model definitions.
* **YAML Components Import/Export**: Easily manage components such as web forms, endpoints, server code, event listeners, schedulers, and frontend resources.
* **Dashboard UI**: Upgrades for an improved dashboard interface.
* **Updates & Security**: Minor adjustments and security fixes.

### 🀝 Partners

**Openkoda source code is completely free and is available under the [MIT license](https://github.com/openkoda/openkoda/blob/main/LICENSE).​**

Join us as a partner in transforming the software development market by delivering maximum value to your clients using Openkoda. The goal is to simplify the process of building enterprise applications, allowing developers to focus on core business logic.

Learn more about [Openkoda Partner Program](https://openkoda.com/partners/).

#### ☁️ Managed Cloud

Our enterprise managed cloud allows for easy deployment and scaling of your Openkoda applications. [Contact us](https://openkoda.com/contact/) for more information.

##


Openkoda Facebook
Openkoda Facebook