Пропустить до содержимого

Ручная настройка

Самый быстрый способ создать новый сайт Saasfly — использовать команду create saasfly , как показано в руководстве по установке.

Системные Требования

  • Node.js - 18.17 или позже.
  • Bun - 1.0 или позже.
  • OS - Поддерживаются macOS, Windows (включая WSL) и Linux.

Кстати, мы рекомендуем использовать NVM (Node Version Manager) для запуска различных версий Node.js.

1. Ручная установка

Чтобы вручную создать новое приложение Saasfly, нужно выполнить всего несколько шагов:

Форк и клонирование репозитория с GitHub

Пожалуйста, откройте https://github.com/saasfly/saasfly и создайте форк этого репозитория.

Форк — это копия репозитория. Форк репозитория позволяет вам свободно экспериментировать с изменениями, не затрагивая исходный проект.

Клонируйте разветвленный репозиторий (замените <your_username> на имя вашей учетной записи GitHub):

Terminal window
git clone https://github.com/<your_username>/saasfly.git

Вы увидите процедуру клонирования:

remote: Enumerating objects: 402, done.
remote: Counting objects: 100% (402/402), done.
remote: Compressing objects: 100% (298/298), done.
remote: Total 402 (delta 77), reused 386 (delta 65), pack-reused 0
Receiving objects: 100% (402/402), 963.18 KiB | 130.00 KiB/s, done.
Resolving deltas: 100% (77/77), done.

Установить зависимости

Для лучшего опыта используйте Bun (Как установить Bun) вместо npm или yarn.

Использование bun для установки зависимостей:

Terminal window
bun i

Это может занять несколько минут, а затем вы увидите:

+ @saasfly/api@workspace:packages/api
+ @saasfly/auth@workspace:packages/auth
+ @saasfly/common@workspace:packages/common
+ @saasfly/db@workspace:packages/db
+ @saasfly/eslint-config@workspace:tooling/eslint-config
+ @saasfly/nextjs@workspace:apps/nextjs
+ @saasfly/prettier-config@workspace:tooling/prettier-config
+ @saasfly/stripe@workspace:packages/stripe
+ @saasfly/tailwind-config@workspace:tooling/tailwind-config
+ @saasfly/typescript-config@workspace:tooling/typescript-config
+ @saasfly/ui@workspace:packages/ui
+ @turbo/[email protected] (v1.12.4 available)
+ [email protected] (v1.12.4 available)
1296 packages installed [1133.89s]

Генерация типов Prisma

Убедитесь, что вы находитесь в папке saasfly, а затем используйте bun для генерации типов Prisma:

Terminal window
cd packages/db/
bun db:generate

Выход:

✔ Generated Kysely types(1.7.1) to./ prisma in 1.32s

2. Начать Saasfly

Для запуска сервера вам необходимо выполнить следующие действия.

Настройте переменные среды

Войдите в папку saasfly, скопируйте файл .env.example , переименуйте его в .env.local и введите свои переменные.

Terminal window
cd saasfly
cp .env.example .env.local

Убедитесь, что у вас есть база данных Postgres (Если у вас нет Postgres, нажмите здесь) и создайте новую базу данных.

POSTGRES_URL должен быть в вашем файле .env.local :

# Пример формата
# POSTGRES_URL="postgres://{USER}:{PASSWORD}@{DB_HOST}:{DB_PORT}/{DATABASE}"
POSTGRES_URL="postgres://postgres:[email protected]:5432/saasfly"

Затем используйте bun для создания таблиц базы данных:

Terminal window
bun db:push

Выход:

🚀 Your database is now in sync with your Prisma schema. Done in 151ms
┌─────────────────────────────────────────────────────────┐
│ Update available 5.9.1 -> 5.10.2 │
│ Run the following to update │
│ npm i --save-dev prisma@latest │
│ npm i @prisma/client@latest │
└─────────────────────────────────────────────────────────┘

Если что-то пошло не так, вы можете связаться с нами в Discord, мы будем рады ответить на любые вопросы о Saasfly.

Сначала запустите сборку

Поскольку некоторые базовые компоненты требуются во время компиляции, сначала следует run build .

Terminal window
bun run build

Запустите сервер разработки

Используйте bun run для запуска вашего веб-сервера:

Terminal window
bun run dev:web
@saasfly/nextjs:dev: cache bypass, force executing ad8bea47f156e113
@saasfly/nextjs:dev: $ bun with-env next dev
@saasfly/nextjs:dev: $ dotenv -e ../../.env.local -- next dev
@saasfly/nextjs:dev: ▲ Next.js 14.1.0
@saasfly/nextjs:dev: - Local: http://localhost:3000
@saasfly/nextjs:dev:
@saasfly/nextjs:dev: automatically enabled Fast Refresh for 1 custom loader
@saasfly/nextjs:dev: ✓ Ready in 12.1s

Если все пойдет хорошо, Saasfly теперь должен обслуживать ваш проект по адресу http://localhost:3000, и вы можете увидеть результат:

Installation

Поздравляем! Теперь вы можете начать писать код для создания своего SaaS.

Если вы новичок в Saasfly, ознакомьтесь с документацией структура проекта для обзора всех возможных файлов и папок в вашем приложении.

Беги с Stripe

Пожалуйста, прочтите статью Stripe. А затем используйте bun dev для запуска со Stripe:

Terminal window
bun dev