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

OSCHINA-MIRROR/mirrors-pocketbase

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

PocketBase - открытое исходное кодовое backend-решение в одном файле

построение Последние релизы Документация Go-пакета

PocketBase — это открытое исходное кодовое Go-решение для backend-сервера, включающее:

  • встроенный базовый набор данных (SQLite) с реальными временными подписками
  • встроенные возможности управления файлами и пользователями
  • удобный административный интерфейс
  • и простой REST-подобный API

Для документации и примеров, пожалуйста, посетите https://pocketbase.io/docs.

[!WARNING] Пожалуйста, имейте в виду, что PocketBase находится в активной стадии разработки и поэтому полная обратная совместимость не гарантируется до выхода версии v1.0.0.

API SDK-клиенты

Самый простой способ взаимодействия с PocketBase Web API — использование одного из официальных SDK-клиентов:

Обзор

Использование как самостоятельного приложения

Вы можете скачать предварительно собранный исполняемый файл для вашей платформы с страницы Релизов. После загрузки распакуйте архив и запустите ./pocketbase serve в распакованной директории.

Предварительно собранные исполняемые файлы основаны на файле examples/base/main.go и по умолчанию имеют включенный плагин JS VM, что позволяет расширять PocketBase с помощью JavaScript (для получения дополнительной информации обратитесь к Расширение с помощью JavaScript).

Использование как Go-фреймворка/инструментария

PocketBase распространяется в виде обычной Go-библиотеки, что позволяет вам создавать собственные бизнес-логики для вашего приложения и всё ещё иметь портативное одно исполняемое приложение в конце.

Вот минимальный пример:

  1. Установите Go 1.23+ (если вы ещё этого не сделали)

  2. Создайте новую директорию проекта с следующим файлом main.go внутри неё:

    package main
    
    import (
        "log"
    
        "github.com/pocketbase/pocketbase"
        "github.com/pocketbase/pocketbase/core"
    )
    
    func main() {
        app := pocketbase.New()
    
        app.OnServe().BindFunc(func(se *core.ServeEvent) error {
            // регистрирует новый маршрут "GET /hello"
            se.Router.GET("/hello", func(re *core.RequestEvent) error {
                return re.String(200, "Hello world!")
            })
    ```            return se.Next()
        })
    
        if err := app.Start(); err != nil {
            log.Fatal(err)
        }
    }
  3. Чтобы инициализировать зависимости, выполните команду go mod init myapp && go mod tidy.

  4. Чтобы запустить приложение, выполните команду go run main.go serve.

  5. Чтобы создать статически связанный исполняемый файл, выполните команду CGO_ENABLED=0 go build и затем запустите созданный исполняемый файл с помощью ./myapp serve.

Для получения дополнительной информации обратитесь к Расширение с помощью Go.

Сборка и запуск примера main.go из репозитория

Чтобы собрать минимальное автономное исполняемое приложение, как предварительно собранные в разделе релизов, вы можете просто выполнить команду go build внутри директории examples/base:

  1. Установите Go 1.23+ (если вы ещё этого не сделали)
  2. Клонируйте/скачайте репозиторий
  3. Перейдите в examples/base
  4. Выполните команду GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build (https://go.dev/doc/install/source#environment)
  5. Запустите созданное исполняемое приложение, выполнив команду ./base serve.

Обратите внимание, что поддерживаемые цели сборки чистым Go-драйвером SQLite в настоящее время включают:

darwin  amd64
darwin  arm64
freebsd amd64
freebsd arm64
linux   386
linux   amd64
linux   arm
linux   arm64
linux   ppc64le
linux   riscv64
linux   s390x
windows amd64
windows arm64

Тестирование

PocketBase включает в себя смесь модульных и интеграционных тестов. Чтобы запустить их, используйте стандартную команду go test:

go test ./...
```Также проверьте [руководство по тестированию](http://pocketbase.io/docs/testing), чтобы узнать, как писать собственные пользовательские тесты для приложения.

## Безопасность

Если вы обнаружите уязвимость безопасности в PocketBase, пожалуйста, отправьте электронное письмо на **support at pocketbase.io**.

Все отчеты будут немедленно рассмотрены, и вы будете упомянуты в примечаниях к исправлению.

## Вклад

PocketBase — это бесплатный и открытый проект, лицензированный под лицензией [MIT License](LICENSE.md).
Вы можете делать с ним все, что хотите, даже предлагать его как платную услугу.

Вы можете помочь в продолжении его развития:

- [Внести вклад в исходный код](CONTRIBUTING.md)
- [Предложить новые функции и сообщить о проблемах](https://github.com/pocketbase/pocketbase/issues)

Вклады для новых OAuth2 провайдеров, исправлений ошибок, оптимизаций кода и улучшений документации приветствуются.

Однако, пожалуйста, воздержитесь от создания вкладов для новых функций без предварительного обсуждения деталей реализации.
PocketBase имеет [дорожную карту](https://github.com/orgs/pocketbase/projects/2), и я стараюсь работать над проблемами в определенном порядке, и такие вклады часто появляются внезапно и нарушают все первоначальное планирование с трудоемким взаимодействием.Не расстраивайтесь, если я закрою ваш вклад, даже если он хорошо выполнен и протестирован. Это не означает, что он никогда не будет включен.
Позже мы всегда можем обратиться к нему и/или использовать части вашего кода, когда наступит время работать над проблемой (не беспокойтесь, вы будете упомянуты в примечаниях к выпуску).

Комментарии ( 0 )

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

Введение

PocketBase — это открытый исходный код серверной части на Go, который включает в себя: * встроенную базу данных SQLite со встроенной подпиской в реальном времени; * встроенные инструменты для управления файлами и пользователями; * удобный интерфейс панели управления (UI); * простой REST-подобный API (AP). Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-pocketbase.git
git@api.gitlife.ru:oschina-mirror/mirrors-pocketbase.git
oschina-mirror
mirrors-pocketbase
mirrors-pocketbase
master