1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
tools.md 9.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

Инструменты разработки

Backend

PostgreSQL

Baserow использует PostgreSQL для постоянного хранения данных.

https://www.postgresql.org/

Django

В основе бэкенда мы используем фреймворк Django. Был выбран популярный фреймворк, чтобы снизить порог вхождения для создания плагинов. Мы также искали фреймворк, включающий все необходимое, простой и проверенный. Django был очевидным выбором.

https://www.djangoproject.com

Django REST framework

Для быстрого создания эндпоинтов, обработки аутентификации, сериализации объектов, валидации и выполнения многих других задач мы используем Django REST Framework. Вы найдете его в основе каждого эндпоинта.

https://www.django-rest-framework.org/

pytest

Мы используем pytest для легкого и автоматического тестирования всего Python-кода. Большая часть кода бэкенда покрыта тестами, и мы хотим сохранить это! Код также тестируется в конвейере непрерывной интеграции. Его можно также протестировать вручную в среде разработки. Убедитесь, что вы находитесь в контейнере backend, и выполните следующую команду.

$ make test

https://docs.pytest.org/en/latest/contents.html

Flake8

Flake8 позволяет легко соблюдать стиль кода Python. Код проверяется в конвейере непрерывной интеграции. Его можно также проверить вручную в среде разработки. Убедитесь, что вы находитесь в контейнере backend, и выполните следующую команду. Если весь код соответствует стандартам, вы не должны увидеть никакого вывода.

$ make lint

https://flake8.pycqa.org/en/latest/

Black

Black автоматически форматирует весь наш Python-код в единый согласованный стиль. Цель состоит в том, чтобы снизить и, возможно, полностью исключить необходимость беспокоиться о форматировании при написании и проверке кода.

https://black.readthedocs.io/en/stable/index.html

make format

Международизация

Для международизации (i18n) мы используем встроенную поддержку Django. Фреймворк международизации Django позволяет нам легко переводить наше веб-приложение на несколько языков.

Для использования функций международизации Django мы оборачиваем наш текст специальной функцией gettext или gettext_lazy. Для получения дополнительной информации обратитесь к документации по международизации и локализации Django. Затем мы создали команду Makefile для сборки или обновления всех этих строк в файл сообщений.

make translations

Это вызовет команду makemessages Django для английского языка всех установленных приложений. Создание сообщений для других языков и этап компиляции всех этих сообщений будут автоматически обрабатываться Weblate перед каждым релизом.

ItsDangerous

Для безопасного обмена чувствительными данными, такими как токены сброса пароля, мы используем проверенную библиотеку ItsDangerous.

https://itsdangerous.palletsprojects.com/en/1.1.x/

DRF spectacular

Иметь актуальную документацию API и иметь ее в формате OpenAPI — это необходимо. Чтобы избежать ошибок, содержимое должно быть максимально близко к коду и максимально автоматизировано. DRF Spectacular предоставляет все это!

https://pypi.org/project/drf-spectacular/

MJML

Для упрощения создания HTML-почты мы используем MJML. Этот инструмент делает создание адаптивных писем легким, которые работают во всех основных почтовых клиентах. Хотя это может показаться избыточным для писем сброса пароля, в будущем будут добавлены более сложные письма, и мы хотим иметь прочную основу.

https://mjml.io/

Web-фронтенд

Vue.js

https://vuejs.org/

Nuxt.js

Из-за нашего опыта работы с Vue.js и отличных возможностей, которые предоставляет Nuxt.js, выбор этого фреймворка для фронтенда был очевидным. Он предлагает серверную рендеринг, автоматическую разбивку кода, хорошую структуру проекта, модульность и множество других функций из коробки, которые необходимы для Baserow.

https://nuxtjs.org/

Stylelint

Stylelint используется для обеспечения правильного форматирования всего SCSS-кода. Он вызывается при выполнении команды make stylelint и работает в реальном времени в среде разработки через prettier.

https://stylelint.io/

ESLint

ESLint используется для обеспечения правильного форматирования всего JavaScript-кода. Он вызывается при выполнении команды make eslint и работает в реальном времени в среде разработки через prettier.

https://eslint.org/

Prettier

https://prettier.io/

webpack

Сборка всех ресурсов Baserow. Это используется по умолчанию в Nuxt.js.

https://webpack.js.org/

SCSS

https://sass-lang.com/

JEST

Из-за своей простоты и совместимости с Vue и Nuxt мы выбрали JEST в качестве фреймворка для тестирования Web-фронтенда. На данный момент покрытие кода минимальное, поэтому здесь есть место для улучшений. Код также тестируется в конвейере непрерывной интеграции. Его можно также протестировать вручную в среде разработки. Убедитесь, что вы находитесь в контейнере web-frontend, и выполните следующую команду.

$ make jest

https://jestjs.io/

Iconoir

Для улучшения пользовательского опыта мы используем набор иконок Iconoir на Web-фронтенде.

https://iconoir.com/

Другие инструменты

Генератор Changelog

Генератор Changelog — это наш собственный инструмент, предназначенный для упрощения написания записей Changelog, которые не вызывают конфликтов при слиянии.

При создании каждого слияния, требующего Changelog, следует использовать генератор Changelog для создания таких записей.

Дополнительные сведения см. здесь.

Спасибо!

Благодарим создателей и вкладчиков вышеупомянутых инструментов! Без вас Baserow не стал бы тем, чем он есть сегодня.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop