Przejdź do treści
Avenit

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:

  1. Walidujemy nazwę (unikalność, brak konfliktów z systemem).
  2. Sprawdzamy pg_catalog czy kolumna już nie istnieje.
  3. Wykonujemy ALTER TABLE core_contractors_ext ADD COLUMN numer_klienta text.
  4. 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:

TypPrzechowywanieIndeksUwagi
Tekst krótkivarchar(n)B-treeLimit 255 znaków
Tekst długitextGIN (full-text)Bez limitu
Liczba całkowitainteger lub bigintB-treeZ zakresem opcjonalnie
Liczba dziesiętnanumeric(p,s)B-treeFinansowa precyzja
DatadateB-tree
Data i czastimestamptzB-treeZawsze w UTC
BooleanbooleanbrakTak/Nie
Wybór (enum)varchar + CHECKB-treeLista wartości
Wielokrotny wybórtext[]GINTablica
Link do encjiuuid + FKB-treeRelacja 1:N
Plikuuid + FK do storageB-treeIntegracja 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