snap-admin/docs/index.html
2024-05-15 07:59:25 +02:00

218 lines
12 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="A powerful, automatically-generated database management panel for Spring Boot®/JPA applications">
<title>SnapAdmin &ndash; Spring Boot Database Admin Panel</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css" integrity="sha384-b6lVK+yci+bfDmaY1u0zE8YYJt0TZxLEAFyYSLHId4xoVvsrQu3INevFKo+Xir8e" crossorigin="anonymous">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/default.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/java.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/xml.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/languages/properties.min.js"></script>
</head>
<body>
<!-- Top navbar -->
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="/"><img src="logo.png" style="width: 180px;"></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item ms-2">
<a class="nav-link" href="https://github.com/aileftech/snap-admin"><i class="bi bi-github"></i> Github</a>
</li>
<li class="nav-item ms-2">
<a class="nav-link" href="#features">Features</a>
</li>
<li class="nav-item ms-2">
<a class="nav-link" href="https://snapadmin.dev/docs">Documentation</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Hero section -->
<header class="hero text-white text-center" style="background-color: #2F0F57;">
<div class="container p-5">
<h1 class="display-4 fw-bold">SnapAdmin</h1>
<p class="lead">A powerful, automatically-generated database management panel for <a href="https://spring.io/projects/spring-boot/" class="text-white" target="_blank">Spring Boot&reg;</a>/JPA applications</p>
<img src="img/screenshot.png" alt="SnapAdmin screenshot showing the list view" class="img-fluid rounded">
<div class="mt-4">
<a href="https://github.com/aileftech/snap-admin" class="btn btn-link btn-lg me-3 text-white text-decoration-none"><i class="bi bi-github"></i> Github</a>
<a href="#get-started" class="btn btn-light btn-lg">Get Started</a>
</div>
</div>
</header>
<!-- Features section -->
<section id="features" class="py-5">
<div class="container">
<h2 class="text-center mb-4 fw-bold">Features</h2>
<p class="text mb-4 mt-3">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.</p>
<div class="row pt-3">
<div class="col-md-4">
<h4 class="fw-bold">First-class CRUD</h4>
<img src="img/crud.png" alt="SnapAdmin screenshot showing the editing form" class="w-100 card-img">
<p class="p-1 mt-2">Complete CRUD features for all entities and their associations, with out-of-the-box support for
JPA validation constraints and multiple field types.</p>
</div>
<div class="col-md-4">
<h4 class="fw-bold">Annotation-based customization</h4>
<img src="img/annotation.png" alt="Screenshot showing some possible annotation-based customization" class="w-100 card-img">
<p class="p-1 mt-2">Customize SnapAdmin by applying annotations to your classes, methods and fields. You can apply custom
formatting and naming, create custom columns and more.</p>
</div>
<div class="col-md-4">
<h4 class="fw-bold">Not just CRUD</h4>
<img src="img/export.png" alt="SnapAdmin screenshot showing the export data dialog" class="w-100 card-img">
<p class="p-1 mt-2">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.</p>
</div>
</div>
</div>
</section>
<!-- Additional sections -->
<section id="get-started" class="py-5 bg-light">
<div class="container">
<h2 class="text-center mb-4 fw-bold">Get Started</h2>
<p class="text mb-4 mt-3">
You can get started with SnapAdmin in less than 3 minutes by following these steps.
</p>
<div class="row">
<div class="col">
<h3 class="fw-bold">1. Install Maven dependency</h3>
<p>SnapAdmin is distributed on Maven: just add the following to your <code>pom.xml</code> file.</p>
<pre class="language-xml">
<code class="language-xml">&lt;dependency&gt;
&lt;groupId&gt;tech.ailef&lt;/groupId&gt;
&lt;artifactId&gt;snap-admin&lt;/artifactId&gt;
&lt;version&gt;0.2.1&lt;/version&gt;
&lt;/dependency&gt;
</code>
</pre>
</div>
</div>
<div class="row">
<div class="col">
<h3 class="fw-bold">2. Configure SnapAdmin</h3>
<p>Add the minimum required properties to your <code>application.properties</code> file.</p>
<pre>
<code class="language-properties"># 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
</code>
</pre>
</div>
</div>
<div class="row">
<div class="col">
<h3 class="fw-bold">3. Enable SnapAdmin</h3>
<p>Add the following at the top of your <code>@SpringBootApplication</code> class to enable SnapAdmin AutoConfiguration.</p>
<pre>
<code class="language-java">@ImportAutoConfiguration(SnapAdminAutoConfiguration.class)
</code>
</pre>
<p class="text">Head over to the <a href="https://github.com/aileftech/snap-admin">Github README</a> or the <a href="docs/">Reference Guide</a> for more detailed instructions.</p>
</div>
</div>
</div>
</section>
<!-- Testimonials -->
<section id="testimonials" class="py-5">
<div class="container">
<h2 class="text-center mb-4 fw-bold">Who is using SnapAdmin?</h2>
<p class="text mb-4 mt-3">Here's what some of our users say about SnapAdmin. You can <a href="https://github.com/aileftech/snap-admin/issues/17">leave your comment, too</a>!</p>
<div class="row pt-3" id="testimonials-row">
<div class="col-md-6 d-flex">
<div class="row">
<div class="col-3">
<div class="d-flex align-items-center testimonials-img">
<img class="w-100" src="https://avatars.githubusercontent.com/u/3874760?v=4">
</div>
</div>
<div class="col-9">
<div class="ps-3">
<p><b>fabienfleureau</b></p>
<p>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.</p>
</div>
</div>
</div>
</div>
<div class="col-md-6 d-flex">
<div class="row">
<div class="col-3">
<div class="d-flex align-items-center testimonials-img">
<img class="w-100" src="https://avatars.githubusercontent.com/u/101204725?s=80&v=4">
</div>
</div>
<div class="col-9">
<div class="ps-3">
<p><b>parsaM110</b></p>
<p>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.<br/><br/>
Keep up the great work!</p>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Footer -->
<footer class="footer text-white text-center text-lg-start" style="background-color: #130623;">
<div class="container p-4">
<div class="row mb-0 mb-md-4">
<div class="col-md-4 footer-card mb-md-0 mb-4">
<h6>Github</h6>
<ul>
<li><a href="https://github.com/aileftech/snap-admin/issues">Issues</a></li>
<li><a href="https://github.com/aileftech/snap-admin/releases">Releases</a></li>
</ul>
</div>
<div class="col-md-4 footer-card mb-md-0 mb-4">
<h6>Documentation</h6>
<ul>
<li><a href="docs/">Reference Guide</a></li>
<li><a href="https://javadoc.io/doc/tech.ailef/snap-admin/latest/index.html">Javadoc</a></li>
</ul>
</div>
<div class="col-md-4 footer-card mb-md-0 mb-4">
<h6>Social</h6>
<ul>
<li><a href="https://twitter.com/aileftech">Twitter</a></li>
</ul>
</div>
</div>
<div class="separator"></div>
<div class="row mt-4">
<p class="mt-2">&copy; 2023 SnapAdmin. All rights reserved.</p>
<p style="color: #AAA;">Spring&reg; and Spring Boot&reg; are trademarks of Pivotal Software, Inc. in the U.S. and other countries.</p>
</div>
</div>
</footer>
<script>hljs.highlightAll();</script>
</body>
</html>