SnapAdmin

A powerful, automatically-generated database management panel for Spring Boot®/JPA applications

SnapAdmin screenshot showing the list view

Features

SnapAdmin scans your existing code base and automatically builds everything at runtime: you won't have to modify your existing code.

First-class CRUD

SnapAdmin screenshot showing the editing form

Complete CRUD features for all entities and their associations, with out-of-the-box support for JPA validation constraints and multiple field types.

Annotation-based customization

Screenshot showing some possible annotation-based customization

Customize SnapAdmin by applying annotations to your classes, methods and fields. You can apply custom formatting and naming, create custom columns and more.

Not just CRUD

SnapAdmin screenshot showing the export data dialog

With SnapAdmin you also get: audit logs for write operations, advanced filtering & search, data export (CSV, XLSX, JSONL) and an SQL console to run and save frequent queries.

Get Started

You can get started with SnapAdmin in less than 3 minutes by following these steps.

1. Install Maven dependency

SnapAdmin is distributed on Maven: just add the following to your pom.xml file.

<dependency>
    <groupId>tech.ailef</groupId>
    <artifactId>snap-admin</artifactId>
    <version>0.1.9</version>
</dependency>

2. Configure SnapAdmin

Add the minimum required properties to your application.properties file.

# the root path of all SnapAdmin routes
dbadmin.baseUrl=admin

# comma-separated list of packages to scan for @Entity classes
dbadmin.modelsPackage=your.models.package

3. Enable SnapAdmin

Add the following at the top of your @SpringBootApplication class to enable SnapAdmin AutoConfiguration.

@ImportAutoConfiguration(SnapAdminAutoConfiguration.class)

Head over to the Github README or the Reference Guide for more detailed instructions.