Open Source Next.js SaaS Boilerplate untuk Pengembangan Aplikasi SaaS Enterprise.
Silakan bintangi repo jika Anda ingin kami terus mengembangkan dan meningkatkan SaaS Starter Kit! ?
Sumber daya tambahan
Video - Kit Starter SaaS BoxyHQ: Boilerplate yang sesuai dengan perusahaan utama Anda Blog - Kit Starter SaaS siap -perusahaan
Next.js SaaS Starter Kit menghemat waktu pengembangan dengan Anda dengan memulai dengan semua fitur yang sama di setiap produk, sehingga Anda dapat fokus pada apa yang membuat aplikasi Anda unik.
Dibangun dengan
Next.js Ini adalah kerangka kerja bereaksi yang menyediakan fitur seperti rendering sisi server dan pembuatan situs statis. Ini digunakan untuk membangun antarmuka pengguna aplikasi Anda. Konfigurasi utama untuk Next.js dapat ditemukan di next.config.js.
Tailwind CSS Ini adalah kerangka kerja CSS utilitas-pertama untuk membangun antarmuka pengguna khusus dengan cepat. Ini digunakan untuk menata aplikasi. Konfigurasi untuk CSS Tailwind dapat ditemukan di postcss.config.js.
Postgres Ini adalah sistem basis data objek-relasional sumber terbuka yang kuat. Ini digunakan untuk menyimpan data aplikasi. Koneksi ke Postgres kemungkinan dikelola melalui prisma.
Bereaksi ini adalah pustaka JavaScript untuk membangun antarmuka pengguna. Ini digunakan untuk membuat elemen interaktif aplikasi Anda. Komponen React terletak di direktori komponen.
Prisma Ini adalah toolkit basis data sumber terbuka. Ini digunakan untuk pemetaan objek-relasional, yang menyederhanakan proses menulis kueri database. Konfigurasi dan skema Prisma dapat ditemukan di direktori Prisma.
Naskah ini adalah superset javascript yang diketik yang dikompilasi ke javascript biasa. Ini digunakan untuk membuat kode lebih kuat dan dapat dipelihara. Definisi dan konfigurasi TypeScript dapat ditemukan dalam file seperti Next-env.d.ts dan i18Next.d.ts.
SAML Jackson (menyediakan SAML SSO, Directory Sync) Ini adalah layanan untuk menangani SAML SSO (Sign-On tunggal). Ini digunakan untuk memungkinkan pengguna masuk dengan ID dan kata sandi tunggal ke salah satu dari beberapa sistem terkait yaitu (menggunakan satu set kredensial). Implementasi SAML Jackson terutama terletak di dalam file yang terkait dengan otentikasi.
SVIX (menyediakan orkestrasi webhook) Ini adalah layanan untuk menangani webhook. Ini digunakan untuk memancarkan acara pada operasi crud pengguna/tim, yang kemudian dapat ditangkap dan ditangani oleh bagian lain dari aplikasi atau layanan eksternal. Integrasi SVIX didistribusikan di seluruh basis kode, terutama di area di mana operasi membuat, membaca, memperbarui, dan menghapus (CRUD) dijalankan.
Retraced (Menyediakan Layanan Log Audit) Ini adalah layanan untuk pencatatan audit dan visibilitas data. Ini membantu melacak aktivitas pengguna dalam aplikasi IE (siapa yang melakukan apa dan kapan dalam aplikasi). Penggunaan penarikan kembali akan tersebar di seluruh basis kode, kemungkinan dalam file di mana tindakan penting dilakukan.
Stripe (memberikan pembayaran) Ini adalah layanan untuk menangani pembayaran. Ini digunakan untuk memproses pembayaran untuk aplikasi. Integrasi Stripe kemungkinan ditemukan dalam file yang terkait dengan penagihan dan langganan.
Playwright (menyediakan tes E2E) Ini adalah pustaka Node.js untuk mengotomatiskan browser. Ini digunakan untuk menjalankan tes ujung ke ujung pada aplikasi. Konfigurasi dan tes penulis naskah dapat ditemukan di direktori tes.
Docker (menyediakan Docker Compose) Ini adalah platform untuk mengembangkan, pengiriman, dan menjalankan aplikasi. Ini digunakan untuk memuat aplikasi dan ketergantungannya. Konfigurasi Docker dapat ditemukan di DockerFile dan Docker-Compose.yml.
NextAuth.js (menyediakan otentikasi) Ini adalah solusi otentikasi open-source lengkap untuk aplikasi Next.js. Ini digunakan untuk menangani otentikasi dan otorisasi pengguna. Konfigurasi dan penyedia NextAuth.js dapat ditemukan di file halaman/API/auth/[... nextAuth] .ts file.
Penyebaran
Memulai
Silakan ikuti langkah -langkah sederhana ini untuk mendapatkan salinan lokal dan berjalan.
Prasyarat
Node.js (versi:> = 18.x)
PostgreSQL
NPM
Docker menyusun
Perkembangan
1. Pengaturan
Garpu repositori
Kloning repositori dengan menggunakan perintah ini:
Untuk membuat proses pemasangan ketergantungan lebih mudah, kami menawarkan docker-compose.yml dengan wadah postgres.
docker-compose up -d
6. Mengatur Skema Database
npx prisma db push
7. Mulai server
Dalam lingkungan pengembangan:
npm run dev
8. Mulailah Studio Prisma
Prisma Studio adalah editor visual untuk data dalam database Anda.
npx prisma studio
9. Pengujian
Kami menggunakan penulis naskah untuk menjalankan tes E2E. Tambahkan semua tes di dalam folder /tests .
Perbarui playwright.config.ts untuk mengubah konfigurasi Playwright.
Instal Ketergantungan Playwright
npm run playwright:update
Jalankan tes E2E
npm run test:e2e
Catatan: Laporan uji HTML dihasilkan di dalam folder report . Browser yang saat ini didukung untuk Eksekusi Uji chromium dan firefox
Boilerplate yang sepenuhnya dapat disesuaikan di luar kotak, lihat gambar di bawah ini ???
? Fitur
Buat akun
Masuk dengan email dan kata sandi
Masuk dengan Magic Link
Masuk dengan SAML SSO
Masuk dengan Google [Menyiapkan Google OAuth]
Masuk dengan GitHub [Membuat Aplikasi GitHub OAuth]
Sinkronisasi Direktori (SCIM)
Perbarui akun
Buat tim
Hapus tim
Mengundang pengguna ke tim
Kelola anggota tim
Perbarui Pengaturan Tim
Webhooks & Acara
Internasionalisasi
Log Audit
Peran dan Izin
Mode gelap
Pemberitahuan email
Tes e2e
Docker menyusun
Studio Prisma
Perbarui Peran Anggota
Acara Sinkronisasi Direktori
Unggah Avatar
SAML SSO
Log audit
Webhook
Pembayaran
Header keamanan
➡️ Segera hadir
Penagihan & Langganan
Tes unit dan integrasi
Berkontribusi
Terima kasih telah meluangkan waktu untuk berkontribusi! Kontribusi menjadikan komunitas open-source tempat yang fantastis untuk belajar, menginspirasi, dan menciptakan. Kontribusi apa pun yang Anda buat sangat dihargai.
Silakan coba membuat laporan bug yaitu:
Dapat direproduksi. Sertakan langkah -langkah untuk mereproduksi masalah.
Spesifik. Sertakan sebanyak mungkin detail: versi mana, lingkungan apa, dll.
Unik. Jangan menduplikasi masalah terbuka yang ada.
Terselubung ke satu bug. Satu bug per laporan.
Panduan Kontribusi
? Masyarakat
Perselisihan (untuk diskusi langsung dengan komunitas open-source dan tim BoxyHQ)
Twitter / LinkedIn (Ikuti Kami)
YouTube (Tonton Acara Komunitas dan Tutorial)
Masalah GitHub (Kontribusi, Masalah Laporan, dan Ide Produk)