SnapAdmin

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

SnapAdmin screenshot showing the list view

Features

SnapAdmin saves you time by providing a full-fledged database management interface so you can focus on what matters. It won't be necessary to modify your codebase: SnapAdmin scans your code and builds everything at runtime.

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.2.1</version>
</dependency>

2. Configure SnapAdmin

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

# SnapAdmin is not enabled by default
snapadmin.enabled=true

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

# comma-separated list of packages to scan for @Entity classes
snapadmin.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.

Who is using SnapAdmin?

Here's what some of our users say about SnapAdmin. You can leave your comment, too!

fabienfleureau

Hello, Thanks for you project. I use it an hidden admin page, mostly as if it is a direct connection to database. It would be nice to able to run custom queries.

parsaM110

I recently came across Snap Admin, and I must say it's a very interesting project! Coming from a Django background, I always wondered why there wasn't a robust ecosystem like Django Admin in the Spring world. After discovering that Spring Roo was no longer supported by VMware, I found your project and was genuinely impressed.

Keep up the great work!