ДокументацијаDocumentationContributingIntroduction

Увод

Добро дошли у званичну документацију за open-sourced Appbox frontend.

Добро дошли у Appbox документацију
Узбуђени смо што можемо да објавимо да је frontend за Appbox сада open-sourced на GitHub. Наш циљ је да подстакнемо сарадничку заједницу која доприноси документацији, развија нове frontend функције и помаже да се побољша целокупно Appbox искуство.

Иако је наша документација још у раној фази, радимо на томе да изградимо свеобухватан ресурс сличан другим платформама у нашем простору. Тренутно се наша документација првенствено фокусира на смернице за допринос, али планирамо да је проширимо детаљним информацијама за све апликације доступне на Appbox.

Док наша документација не постане робуснија, посетите нашу стару базу знања за брза питања о конкретним апликацијама или услугама. Ако вам је потребна техничка подршка, можете послати тикет за помоћ. Овим новим документима увек можете приступити преко линка у footer-у нашег сајта како бисте пратили наш напредак док их проширујемо.

Будући планови

  • Детаљни водичи за апликације
    Обухватају инсталацију, решавање проблема и савете за сваку апликацију подржану на нашој платформи.
  • Ресурси за кориснике и програмере
    Пружају све, од туторијала прилагођених почетницима до напредних референци кода за прилагођавање вашег Appbox искуства.
  • Садржај који покреће заједница
    Подстичемо pull requests, повратне информације и предлоге — све је добродошло и помаже да овај пројекат расте за све.

Почетак рада

Ако желите да погледате или допринесете нашем open-sourced frontend коду, клонирајте Appbox репозиторијум:

git clone https://github.com/appbox-co/appbox.git

Затим уђите у пројекат и инсталирајте његове зависности:

cd appbox
pnpm install
pnpm dev

Ваша локална инстанца биће доступна на http://localhost:3000. Слободно истражујте, правите измене и отварајте pull requests. Ценимо сваки допринос!

Развојни алати

Linting

Пројекат долази са свеобухватним linting подешавањем које користи ESLint са TypeScript и Prettier интеграцијом. То обезбеђује доследан стил кода и помаже да се честе грешке ухвате рано. Linting провере можете покренути ручно:

# Run linting
pnpm lint
 
# Fix automatically fixable issues
pnpm lint:fix

Наша ESLint конфигурација укључује:

  • TypeScript специфична правила преко @typescript-eslint
  • Next.js специфичан linting са eslint-config-next
  • Форматирање кода са Prettier интеграцијом

Pre-commit hooks

Користимо Husky за управљање Git hooks, што помаже да се у репозиторијум commit-ује само квалитетан код. Подешени су следећи hooks:

  • pre-commit: Покреће lint:fix пре сваког commit-а да би се обезбедио квалитет кода
  • commit-msg: Користи commitlint за спровођење conventional commit формата порука

То значи да ће ваши commit-и аутоматски бити проверени за квалитет кода и правилно форматирање пре него што буду прихваћени, одржавајући висок стандард кроз цео codebase.

Прављење Pull Request-ова

Када будете спремни да допринесете своје измене, следите ове смернице да би ваш Pull Request (PR) имао већу вероватноћу да буде прихваћен:

Пре креирања PR-а

  1. Rebase са најновије main гране да бисте избегли merge conflict-е:

    git checkout main
    git pull origin main
    git checkout your-branch
    git rebase main
  2. Уверите се да сав linting пролази:

    pnpm lint:fix
  3. Проверите да ваш код ради локално тако што ћете тестирати релевантну функционалност.

PR смернице

  1. Нека PR-ови буду фокусирани - Решавајте један проблем или једну функцију по PR-у.
  2. Пишите јасне commit поруке - Пратите conventional commit формат.
  3. Укључите јасне описе - Објасните шта ваш PR ради и зашто је потребан.
  4. Додајте тестове - Где је применљиво, додајте тестове да потврдите да измене раде исправно.
  5. Документујте свој код - Користите коментаре за сложену логику и осигурајте да су имена функција описна.
  6. Пратите постојеће обрасце - Ваш код треба да одговара стилу и обрасцима који се користе у остатку codebase-а.

За значајне измене размислите о томе да прво отворите issue како бисте разговарали о приступу пре него што уложите време у кодирање. То помаже да ваш допринос буде усклађен са правцем пројекта и избегава узалудан рад.