Skip to content

amirroid/KtorAdmin

Repository files navigation

KtorAdmin

Modern Admin Panels for Ktor Applications 🚀

KtorAdmin Banner

Java 17 Maven Central Ktor PostgreSQL MySQL JDBC SQL MongoDB

✨ Overview

KtorAdmin is a powerful, extensible, and schema-independent admin panel framework built specifically for Ktor.

Instead of relying on predefined database schemas, KtorAdmin automatically discovers your entities and generates a fully functional admin interface at runtime. Whether you're using relational databases through Hibernate or Exposed, or working with MongoDB, KtorAdmin adapts to your data model with minimal configuration.

Build production-ready admin panels in minutes, not days.

Feature Dark Mode Light Mode
Dashboard Dark Light
Data Panel Dark Light
Create & Edit Dark Light

🎬 Live Demo

🔗 Demo Application https://ktoradmindemo-production.up.railway.app/admin

🔗 Demo Source Code https://github.com/Amirroid/KtorAdminDemo


🚀 Features

  • Automatic admin panel generation from your entities
  • Support for Exposed, Hibernate, and MongoDB
  • Schema-independent architecture
  • Role-based access control (RBAC)
  • Multiple authentication providers
  • Custom admin actions
  • Event system for create, update, and delete operations
  • Built-in file management and thumbnail generation
  • Rich text editor support
  • Advanced filtering, searching, and sorting
  • Data export capabilities
  • Localization and multilingual support
  • Production-ready performance and scalability

💡 Why KtorAdmin?

Most admin panel solutions require extensive setup, custom dashboards, or tightly coupled database schemas.

KtorAdmin takes a different approach:

  • Less boilerplate
  • Faster development
  • Dynamic entity discovery
  • Highly extensible architecture
  • Works across SQL and NoSQL databases

Focus on building your application while KtorAdmin handles the administrative interface.


🚀 Getting Started

Integrating KtorAdmin into an existing Ktor application takes only a few steps.

1. Add Dependencies

plugins {
    id("com.google.devtools.ksp") version "2.1.0-1.0.29"
}

repositories {
    mavenCentral()
}

dependencies {
    implementation("io.github.amirroid:KtorAdmin:<version>")
    ksp("io.github.amirroid:KtorAdmin:<version>")
}

2. Install the Plugin

fun Application.configureAdmin() {
    install(KtorAdmin)
}

3. Enable KtorAdmin

fun Application.module() {
    configureAdmin()
}

4. Open the Admin Panel

http://localhost:8080/admin

📚 Documentation

Full documentation, guides, and advanced configuration options are available here:

https://amirreza-gholami.gitbook.io/ktor-admin


📄 License

KtorAdmin is developed and maintained by amirroid and released under the MIT License.

About

A dynamic admin panel for Ktor applications, supporting ORM structures without predefined schemas and simplifying data management with advanced features.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors