Wprowadzenie do no-code buildera
Jak dodawać własne pola, widoki i formularze — bez pisania kodu.
No-code builder Avenita pozwala rozszerzać każdą encję systemu o własne pola, widoki, formularze i automatyzacje — bez pisania kodu i bez czekania na dewelopera.
Kluczowa różnica: prawdziwe kolumny
W przeciwieństwie do większości platform no-code, Avenit nie używa JSONB do przechowywania pól użytkownika. Gdy dodajesz pole numer_klienta do kontrahentów:
- Walidujemy nazwę (unikalność, brak konfliktów z systemem).
- Sprawdzamy
pg_catalogczy kolumna już nie istnieje. - Wykonujemy
ALTER TABLE core_contractors_ext ADD COLUMN numer_klienta text. - Zapisujemy meta-definicję dla UI i API.
Efekt: Twoje pola są prawdziwymi kolumnami PostgreSQL — szybkie, indeksowalne, z constraints i foreign key.
Architektura BASE + EXT
Każda encja systemowa (np. kontrahent) ma dwie tabele:
core_contractors -- pola, które my, Avenit, dodajemy
core_contractors_ext -- pola, które Ty dodajesz no-code builderem
Query do pełnego kontrahenta to INNER JOIN — dodawany automatycznie przez ORM. W praktyce <1 ms overheadu.
Typy pól
Dostępne od dnia pierwszego:
| Typ | Przechowywanie | Indeks | Uwagi |
|---|---|---|---|
| Tekst krótki | varchar(n) | B-tree | Limit 255 znaków |
| Tekst długi | text | GIN (full-text) | Bez limitu |
| Liczba całkowita | integer lub bigint | B-tree | Z zakresem opcjonalnie |
| Liczba dziesiętna | numeric(p,s) | B-tree | Finansowa precyzja |
| Data | date | B-tree | — |
| Data i czas | timestamptz | B-tree | Zawsze w UTC |
| Boolean | boolean | brak | Tak/Nie |
| Wybór (enum) | varchar + CHECK | B-tree | Lista wartości |
| Wielokrotny wybór | text[] | GIN | Tablica |
| Link do encji | uuid + FK | B-tree | Relacja 1:N |
| Plik | uuid + FK do storage | B-tree | Integracja z S3 |
Jak dodać pole
Krok 1. Przejdź do encji, którą chcesz rozszerzyć (np. Kontrahenci → ⋯ → Konfiguruj pola).
Krok 2. Kliknij “Dodaj pole”. Wybierz typ, podaj nazwę techniczną (snake_case) i etykietę (widoczną w UI).
Krok 3. Opcjonalnie: ustaw NOT NULL, wartość domyślną, CHECK (walidacja).
Krok 4. Zapisz. Pole jest dostępne natychmiast we wszystkich widokach, formularzach i API.
Co dalej
- Konstruktor widoków — listy, Kanban, kalendarze, dashboardy.
- Konstruktor formularzy — drag-and-drop, walidacje, pola zależne.
- Automatyzacje — IF-THEN bez kodu.