Вступ
Ласкаво просимо до офіційної документації відкритого frontend Appbox.
Ласкаво просимо до документації Appbox
Ми раді повідомити, що frontend для Appbox тепер має відкритий вихідний код на GitHub. Наша мета — розвивати спільноту для співпраці, яка доповнює документацію, створює нові можливості frontend і допомагає покращувати загальний досвід користування Appbox.
Хоча наша документація ще на ранньому етапі, ми працюємо над створенням повного ресурсу, подібного до інших платформ у нашій сфері. Наразі документація переважно зосереджена на правилах внеску, але ми плануємо розширити її детальною інформацією для всіх застосунків, доступних в Appbox.
Поки наша документація стає повнішою, для термінових запитань щодо конкретних застосунків або сервісів відвідайте нашу застарілу базу знань. Якщо вам потрібна технічна підтримка, ви можете створити тікет, щоб отримати допомогу. Ви завжди можете перейти до цієї нової документації за посиланням у footer нашого сайту й стежити за прогресом її розширення.
Майбутні плани
- Докладні посібники для застосунків
Охоплюватимуть встановлення, усунення несправностей і поради для кожного із застосунків, які підтримуються на нашій платформі. - Ресурси для користувачів і розробників
Надаватимуть усе: від зручних для початківців посібників до розширених довідників коду для налаштування вашого досвіду Appbox. - Контент, створений спільнотою
Заохочуємо pull requests, відгуки та пропозиції — усе це вітається й допомагає розвивати проєкт для всіх.
Початок роботи
Якщо ви хочете переглянути або долучитися до відкритого 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 - Linting, специфічний для Next.js, з
eslint-config-next - Форматування коду з інтеграцією Prettier
Pre-commit Hooks
Ми використовуємо Husky для керування Git hooks, що допомагає гарантувати, що до репозиторію потрапляє лише якісний код. Налаштовано такі hooks:
- pre-commit: запускає
lint:fixперед кожним commit, щоб забезпечити якість коду - commit-msg: використовує commitlint для примусового дотримання conventional commit formatting
Це означає, що ваші commits автоматично перевірятимуться на якість коду та правильне форматування перед прийняттям, підтримуючи високий стандарт у всій codebase.
Створення Pull Requests
Коли ви готові надіслати свої зміни, дотримуйтеся цих рекомендацій, щоб ваш Pull Request (PR) мав більше шансів бути прийнятим:
Перед створенням PR
-
Виконайте rebase з останньої main branch, щоб уникнути merge conflicts:
git checkout main git pull origin main git checkout your-branch git rebase main -
Переконайтеся, що весь linting проходить:
pnpm lint:fix -
Переконайтеся, що ваш код працює локально, протестувавши відповідну функціональність.
Правила PR
- Тримайте PR сфокусованими - вирішуйте одну проблему або додавайте одну можливість на PR.
- Пишіть зрозумілі commit messages - дотримуйтеся conventional commit format.
- Додавайте зрозумілі описи - пояснюйте, що робить ваш PR і навіщо це потрібно.
- Додавайте tests - де доречно, додавайте tests, щоб перевірити, що ваші зміни працюють правильно.
- Документуйте свій код - використовуйте коментарі для складної логіки й переконайтеся, що назви функцій описові.
- Дотримуйтеся наявних patterns - ваш код має відповідати стилю та patterns, що використовуються в решті codebase.
Для значних змін розгляньте можливість спочатку відкрити issue, щоб обговорити підхід перед тим, як витрачати час на написання коду. Це допоможе переконатися, що ваш внесок відповідає напрямку проєкту, і уникнути марних зусиль.