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

Products list

Next