On This Page
Quickstart
Build a complete admin panel in minutes.
No frontend required.
What you’ll build
- product list
- create / edit forms
- validation
- status badges
- delete confirmation
1. Add Mateu to your project
<dependency>
<groupId>io.mateu</groupId>
<artifactId>mvc-core</artifactId>
<version>0.0.1-MATEU</version>
</dependency>
<dependency>
<groupId>io.mateu</groupId>
<artifactId>annotation-processor-mvc</artifactId>
<version>0.0.1-MATEU</version>
</dependency>
2. Define your model
enum ProductStatus {
Available, OutOfStock
}
record Product(
@NotEmpty String id,
@NotEmpty String name,
@NotNull ProductStatus status
) implements Identifiable {}
3. Connect Mateu to your data
class ProductAdapter extends AutoCrudAdapter<Product> {
@Override
public CrudRepository<Product> repository() {
return new ProductRepository();
}
}
4. Create the UI
@UI("/products")
public class Products extends AutoCrudOrchestrator<Product> {
@Override
public AutoCrudAdapter<Product> simpleAdapter() {
return new ProductAdapter();
}
}
5. Run
mvn spring-boot:run
Open http://localhost:8080/products
Result
