Skip to content

Open source business application platform for fast development

License

Notifications You must be signed in to change notification settings

adminweighty/openkoda

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Openkoda Logo

Development platform that accelerates the process of building business applications and internal tools.

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

  • Reduce development time and effort. Use industry-specific application templates, 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

📌Contents

🚀 How to start
Out-of-the-box features
🧩 Integrations
👨‍💻 Tech stack
💡 Sample applications
💡 Application screenshots
💙 Contribution
📜 Release notes
🤝 Partners

🚀 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
  2. Clone or download this Git repository
  3. Build application with maven:
mvn -f openkoda/pom.xml clean install spring-boot:repackage -DskipTests
  1. 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=<http port>
  1. Run Openkoda
java -Dloader.path=/BOOT-INF/classes -Dsecure.cookie=false -jar openkoda.jar --spring.profiles.active=openkoda --server.port=<http port>

Detailed instructions can be found in the Installation 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)

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

Running dev/test instance without https

Openkoda uses strict secure cookies setting to increase security.

If you want to run a development/test instance of Openkoda without https and not using localhost then you need to disable secure cookies setting by:

Resolving installation issues

If you encounter any issues during the installation or when running Openkoda for the first time, please:

  • Review the existing GitHub tickets, as a similar problem may have been reported before.
  • If not, raise a new ticket, including steps to reproduce the issue and relevant logs—our development team regularly reviews reported issues.

✅ Out-of-the-box features

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

(*enterprise options)

🧑‍💻Solid Application Foundation

Build your application without losing time on functionality every application always needs. Start with authentication, user management, multitenancy, and admin dashboard already in place.

Openkoda Industry-Specific Application Templates

Start with our pre-built domain-specific Openkoda application templates giving you a solid base to build your custom applications. Get an enterprise foundation with a predefined data model, useful dashboards, and ready-to-use business features.

Customize and Extend Using Open-Source Java, JavaScript, and PostgreSQL

Extend your application with open-source, scalable, and high-performance Java and JavaScript (back-end), HTML/CSS (front-end), and PostgreSQL (database).

*Data Model Builder: Customize Your Data Model and Views with Development Kit UI

Easily update, rename, and create new tables and attributes in your custom data model using our Development Kit UI. Use our intelligent editor with an autocomplete feature to choose from a variety of data types, create dropdowns, multiselect, or conditional types of fields. All inputs are validated, and your changes are applied immediately to both UI and the database.

Dynamically configure your data screens – decide which attributes should be presented on the entity’s UI screen and which ones should be used as filters.

Dashboard Builder: Create Your Own Data Dashboards with Drag & Drop

Create useful dashboards for different user types and different organizations using pre-built widgets. Design custom views by combining widgets, images, and data tables in our drag & drop visual editor.

Modify Look & Feel of Your Application with Custom HTML/CSS

Craft a unique user experience by customizing HTML/CSS of your Openkoda application.

*Custom Business Logic

Define custom business logic from the UI using server-side JavaScript.

📊Smart Reporting

SQL Reporting

Build reports and query your data using SQL. Define your periodic reports directly within Openkoda. Save and share useful reports and summaries across your coworkers.

*Reporting AI

Use natural language to create reports or query your application data ad-hoc. Iterate and update your prompt to adjust the results. Run AI-generated SQL queries without sharing your data outside the system. Save the report to run periodically or download it to Excel to share with your coworkers.

*Data Visualization

Visualize report data with a custom chart. Use ChartJs to visualize reports and embed it in dashboards and custom application screens.

⚙️Automations

Email Sender

Send emails to users, administrators or co-workers. Set up an email address for sending notifications, updates, and other communications.

In-App Notifications

Programmatically send in-app notifications to a specific user, to users in a specific organization, or globally within the application.

*Business Processes Automations

Use Custom Events and Event Listeners and automate your business processes and trigger specific actions, like: send a reminder to your client about overdue payment or alert your sales team about specific opportunities. Use Job Scheduler to define how often the system should trigger the event.

*Custom Automation Logic

Define custom business rules from the UI using server-side Javascript.

Automate your business processes and trigger specific actions, for example: "find contracts about to expire and send notification to the relevant parties, or send reminders for overdue payments", or "generate and send attachments for a new contract".

🔄Custom Integrations

Automatically Updated REST API

Connect other applications to an automatically generated secure REST API for standard data model operations and endpoints implemented in your Openkoda application.

Custom Integrations

Use open-source Java or other standard programming languages to extend your system with custom integrations.

Integrations with External Applications

Enhance your application by integrating your application with the systems you already use, like: Slack, Discord, Basecamp, GitHub, Jira, Trello.

*Custom Integrations from the UI

Seamlessly connect with other systems and extend functionality with custom integration using intelligent server-side Javascript code editor.

👥Advanced Security and User Management

Advanced User Management

Manage users across multiple organizations: invite new users, define user settings, apply roles globally and within organization context, manage passwords.

Role-Based Security Model

Define and manage user roles based on access privileges defined on the application, organization, table, individual object attribute, application view or at any other level. Create a precisely secured environment for your coworkers, customers and partners.

Custom Privileges

Define your custom access privileges types from UI to configure even more adjusted and secured environment.

🏢Scalable Multitenancy

Multiple Organizations Support

Create as many organizations, co-existing within a single Openkoda instance, as you want (organizations in a single database). Personalize the organizations with different logos and color palette.

*Advanced Multitenancy for Multiple Organizations Support

Introduce physical data separation and increase application scalability with advanced multi-tenancy models: organizations in separate schemas and organizations in separate databases.

Clustering

High-availability, high-reliability clustering deployment options.

See multitenancy setup for more details

🗂️ Flexible File Management

File & Resource Management

Centralize and efficiently manage all your files and resources stored in a database or local filesystem. Simplify access for your users to your digital assets. Store and manage your documents, images and files within your Openkoda application. Select database or local filesystem for physical storage. Simplify access to your digital assets.

*Advanced File & Resource Management

Store and manage your documents, images and files within your Openkoda application. Select database, local filesystem or Amazon S3 for physical storage. Simplify access to your digital assets. Centralize and efficiently manage all your files and resources in one location. Simplify access for your users to your digital assets.

📥Import/Export your Data and Customizations

Export Data to CSV/Excel

Easily download your filtered data directly to Excel/CSV for further analysis.

*Import Data from CSV/Excel

Upload your CSV/Excel file to create new and update existing records. Ensure data quality with built-in import validation.

Components Import & Export

Simplify application management process. Upgrade your system easily by importing new application components (including: dashboards, forms, views, web endpoints, event listeners, schedulers, server side code) from a single ZIP file. Export and move your customizations across Openkoda instances.

*Maven Project Package

The exported ZIP archive with your Openkoda application contains a ready to use Maven project, so that you easily set up your local Java development environment and start extending your application with your favourite IDE.

🛠️Control and Maintenance

Full Audit Trail

Automatically track all changes made to any data within the application. Audit trail logs detailed records of modifications, ensuring transparency and accountability for all user actions.

Application & Data Backup System

Automatically backup your application and data to ensure security and recovery. Easily schedule and manage the backup process to protect your system against data loss and system failures.

System Health & System Logs

Monitor the actual health and performance of your system with real-time insights. Access detailed system logs to track events, diagnose issues, and ensure optimal operation.

🧩 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

💡 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.

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.

timelog user timelog admin

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.

insurance user insurance admin

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?

💡 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. 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

📢 Follow, learn, and spread the word

Openkoda Community: Become a part of Openkoda
YouTube: Learn how to use Openkoda
LinkedIn: Stay up to date
About us: Let us introduce ourselves

🗃️ Release notes

Openkoda is constantly evolving. Check out the changelog:

Openkoda 1.7.1. 🚀

  • Support for dynamic privileges management
  • Optimize custom dashboard view
  • Manually create data reports with sql queries
  • Improve dashboard UI
  • Filter dynamic entities by their attributes
  • Refactor components .zip export
  • Update Insurance App components .zip
  • Fix issues and bugs

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.​

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.

☁️ Managed Cloud

Our enterprise managed cloud allows for easy deployment and scaling of your Openkoda applications. Contact us for more information.

Openkoda Facebook Openkoda Facebook

About

Open source business application platform for fast development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 85.8%
  • HTML 12.9%
  • Gherkin 1.1%
  • PLpgSQL 0.1%
  • Shell 0.1%
  • Dockerfile 0.0%