
ชุดเริ่มต้นขององค์กร SaaS
โอเพ่นซอร์ส next.js SaaS Boilerplate สำหรับการพัฒนาแอป SaaS Enterprise
โปรดแสดง repo หากคุณต้องการให้เราพัฒนาและปรับปรุงชุดเริ่มต้น SaaS ต่อไป! -
ทรัพยากรเพิ่มเติม
วิดีโอ - ชุดเริ่มต้น SaaS ของ Boxyhq: Ultimate Enterprise -Confiled Boilerplate ของคุณ
บล็อก - ชุดเริ่มต้น SaaS พร้อมองค์กร
Next.js-based SaaS Starter Kit ช่วยให้คุณพัฒนาเป็นเวลาหลายเดือนโดยเริ่มจากคุณสมบัติทั้งหมดที่เหมือนกันในทุกผลิตภัณฑ์ดังนั้นคุณสามารถมุ่งเน้นไปที่สิ่งที่ทำให้แอปของคุณไม่เหมือนใคร
สร้างขึ้นด้วย
- Next.js นี่เป็นเฟรมเวิร์ก React ที่มีคุณสมบัติเช่นการเรนเดอร์ฝั่งเซิร์ฟเวอร์และการสร้างไซต์แบบคงที่ ใช้สำหรับการสร้างส่วนต่อประสานผู้ใช้ของแอปพลิเคชันของคุณ การกำหนดค่าหลักสำหรับ next.js สามารถพบได้ใน next.config.js
- Tailwind CSS นี่เป็นเฟรมเวิร์ก CSS แบบยูทิลิตี้แรกสำหรับการสร้างอินเทอร์เฟซผู้ใช้ที่กำหนดเองอย่างรวดเร็ว มันใช้สำหรับจัดแต่งทรงผมแอปพลิเคชัน การกำหนดค่าสำหรับ Tailwind CSS สามารถพบได้ใน postcss.config.js
- Postgres นี่เป็นระบบฐานข้อมูลความสัมพันธ์เชิงวัตถุโอเพ่นซอร์สที่ทรงพลัง ใช้สำหรับการจัดเก็บข้อมูลแอปพลิเคชัน การเชื่อมต่อกับ postgres มีแนวโน้มที่จะจัดการผ่าน Prisma
- ตอบสนองนี่คือไลบรารี JavaScript สำหรับการสร้างส่วนต่อประสานผู้ใช้ ใช้สำหรับการสร้างองค์ประกอบแบบโต้ตอบของแอปพลิเคชันของคุณ ส่วนประกอบของปฏิกิริยาอยู่ในไดเรกทอรีส่วนประกอบ
- Prisma นี่เป็นชุดเครื่องมือฐานข้อมูลโอเพนซอร์ซ มันใช้สำหรับการทำแผนที่ความสัมพันธ์เชิงวัตถุซึ่งทำให้กระบวนการสอบถามฐานข้อมูลการเขียนง่ายขึ้น การกำหนดค่า PRISMA และสคีมาสามารถพบได้ในไดเรกทอรี PRISMA
- TypeScript นี่คือ superset ที่พิมพ์ของ JavaScript ที่รวบรวมเป็นจาวาสคริปต์ธรรมดา มันใช้เพื่อทำให้รหัสมีความแข็งแกร่งและบำรุงรักษามากขึ้น คำจำกัดความของ TypeScript และการกำหนดค่าสามารถพบได้ในไฟล์เช่น Next-env.D.TS และ I18NEXT.D.TS
- SAML Jackson (ให้ SAML SSO, Directory Sync) นี่คือบริการสำหรับการจัดการ SAML SSO (Single Sign-On) มันใช้เพื่ออนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วย ID เดียวและรหัสผ่านไปยังระบบที่เกี่ยวข้องหลายระบบเช่น (ใช้ชุดข้อมูลรับรองชุดเดียว) การใช้งาน SAML Jackson นั้นอยู่ในไฟล์ที่เกี่ยวข้องกับการตรวจสอบความถูกต้องเป็นหลัก
- SVIX (ให้ webhook orchestration) นี่คือบริการสำหรับการจัดการ webhooks มันถูกใช้เพื่อปล่อยกิจกรรมในการดำเนินงานของผู้ใช้/ทีม CRUD ซึ่งสามารถจับและจัดการได้โดยส่วนอื่น ๆ ของแอปพลิเคชันหรือบริการภายนอก การรวม SVIX มีการกระจายไปทั่ว Codebase โดยเฉพาะอย่างยิ่งในพื้นที่ที่มีการดำเนินการสร้างอ่านอัปเดตและลบ (CRUD)
- Retraced (ให้บริการบันทึกการตรวจสอบ) นี่คือบริการสำหรับการบันทึกการตรวจสอบและการมองเห็นข้อมูล ช่วยติดตามกิจกรรมผู้ใช้ภายในแอปพลิเคชันเช่น (ใครทำอะไรและเมื่อใดในแอปพลิเคชัน) การใช้งานของการย้อนกลับจะกระจายไปทั่ว Codebase ซึ่งมีแนวโน้มในไฟล์ที่มีการดำเนินการที่สำคัญ
- Stripe (ให้การชำระเงิน) นี่คือบริการสำหรับการจัดการการชำระเงิน ใช้ในการประมวลผลการชำระเงินสำหรับแอปพลิเคชัน การรวมของแถบมีแนวโน้มที่พบในไฟล์ที่เกี่ยวข้องกับการเรียกเก็บเงินและการสมัครสมาชิก
- Playwright (ให้การทดสอบ E2E) นี่คือไลบรารี Node.js สำหรับเบราว์เซอร์อัตโนมัติ มันใช้ในการเรียกใช้การทดสอบแบบ end-to-end ในแอปพลิเคชัน การกำหนดค่าและการทดสอบนักเขียนบทละครสามารถพบได้ในไดเรกทอรีการทดสอบ
- Docker (จัดเตรียม Docker Compose) นี่เป็นแพลตฟอร์มสำหรับการพัฒนาการจัดส่งและการใช้งานแอปพลิเคชัน มันถูกใช้เพื่อบรรจุแอปพลิเคชันและการพึ่งพา การกำหนดค่า Docker สามารถพบได้ใน DockerFile และ Docker-compose.yml
- nextauth.js (ให้การรับรองความถูกต้อง) นี่เป็นโซลูชันการรับรองความถูกต้องแบบโอเพนซอร์ซที่สมบูรณ์สำหรับแอปพลิเคชัน next.js ใช้เพื่อจัดการการรับรองความถูกต้องของผู้ใช้และการอนุญาต การกำหนดค่าและผู้ให้บริการ nextauth.js สามารถพบได้ในหน้า/api/auth/[... nextauth] .ts ไฟล์
การปรับใช้
เริ่มต้น
โปรดทำตามขั้นตอนง่ายๆเหล่านี้เพื่อรับสำเนาท้องถิ่นและทำงาน
ข้อกำหนดเบื้องต้น
- node.js (เวอร์ชัน:> = 18.x)
- PostgreSQL
- NPM
- นักเทียบท่า
การพัฒนา
1. การตั้งค่า
- แยกที่เก็บ
- โคลนที่เก็บโดยใช้คำสั่งนี้:
git clone https://github.com/ < your_github_username > /saas-starter-kit.git
2. ไปที่โฟลเดอร์โครงการ
3. ติดตั้งการพึ่งพา
4. ตั้งค่าไฟล์. env ของคุณ
ซ้ำ .env.example ถึง .env
5. สร้างฐานข้อมูล (ไม่บังคับ)
เพื่อให้กระบวนการติดตั้งการพึ่งพาง่ายขึ้นเราจึงเสนอ docker-compose.yml ด้วยคอนเทนเนอร์ postgres
6. ตั้งค่าสคีมาฐานข้อมูล
7. เริ่มเซิร์ฟเวอร์
ในสภาพแวดล้อมการพัฒนา:
8. เริ่มต้นสตูดิโอ Prisma
Prisma Studio เป็นตัวแก้ไขภาพสำหรับข้อมูลในฐานข้อมูลของคุณ
9. การทดสอบ
เรากำลังใช้นักเขียนบทละครเพื่อดำเนินการทดสอบ E2E เพิ่มการทดสอบทั้งหมดภายในโฟลเดอร์ /tests
อัปเดต playwright.config.ts เพื่อเปลี่ยนการกำหนดค่านักเขียนบทละคร
ติดตั้งการพึ่งพานักเขียนบทละคร
npm run playwright:update
เรียกใช้การทดสอบ E2E
หมายเหตุ: รายงานการทดสอบ HTML ถูกสร้างขึ้นภายในโฟลเดอร์ report เบราว์เซอร์ที่รองรับในปัจจุบันสำหรับการทดสอบการดำเนินการ chromium และ firefox
แผ่นหม้อต้มที่ปรับแต่งได้อย่างเต็มที่จากกล่องดูรูปภาพด้านล่าง ???

- คุณสมบัติ
- สร้างบัญชี
- ลงชื่อเข้าใช้ด้วยอีเมลและรหัสผ่าน
- ลงชื่อเข้าใช้ด้วย Magic Link
- ลงชื่อเข้าใช้กับ SAML SSO
- ลงชื่อเข้าใช้ด้วย Google [การตั้งค่า Google OAuth]
- ลงชื่อเข้าใช้กับ GitHub [การสร้างแอพ GitHub Oauth]
- การซิงค์ไดเรกทอรี (SCIM)
- อัปเดตบัญชี
- สร้างทีม
- ลบทีม
- เชิญผู้ใช้เข้าร่วมทีม
- จัดการสมาชิกในทีม
- อัปเดตการตั้งค่าทีม
- Webhooks & Events
- การทำให้เป็นสากล
- บันทึกการตรวจสอบ
- บทบาทและการอนุญาต
- โหมดมืด
- การแจ้งเตือนทางอีเมล
- การทดสอบ E2E
- นักเทียบท่า
- สตูดิโอ Prisma
- อัปเดตบทบาทสมาชิก
- เหตุการณ์การซิงค์ไดเรกทอรี
- อัพโหลด Avatar
- saml sso
- บันทึกการตรวจสอบ
- webhook
- การชำระเงิน
- ส่วนหัวความปลอดภัย
➡เร็ว ๆ นี้
- การเรียกเก็บเงินและการสมัครสมาชิก
- การทดสอบหน่วยและการรวม
การบริจาค
ขอบคุณที่สละเวลามีส่วนร่วม! การมีส่วนร่วมทำให้ชุมชนโอเพ่นซอร์สเป็นสถานที่ที่ยอดเยี่ยมในการเรียนรู้สร้างแรงบันดาลใจและสร้าง การมีส่วนร่วมใด ๆ ที่คุณทำจะได้รับการชื่นชมอย่างมาก
โปรดพยายามสร้างรายงานข้อผิดพลาดที่:
- ทำซ้ำได้ รวมถึงขั้นตอนในการทำซ้ำปัญหา
- เฉพาะเจาะจง. รวมรายละเอียดให้มากที่สุดเท่าที่จะเป็นไปได้: เวอร์ชันใดสภาพแวดล้อม ฯลฯ
- มีเอกลักษณ์. อย่าทำซ้ำปัญหาที่เปิดอยู่
- ชี้ไปที่ข้อผิดพลาดเดียว ข้อผิดพลาดหนึ่งข้อต่อรายงาน
คู่มือการสนับสนุน
- ชุมชน
- Discord (สำหรับการสนทนาสดกับชุมชนโอเพนซอร์ซและทีม Boxyhq)
- Twitter / LinkedIn (ติดตามเรา)
- YouTube (ดูกิจกรรมชุมชนและบทเรียน)
- ปัญหา GitHub (การมีส่วนร่วม, ปัญหารายงานและแนวคิดผลิตภัณฑ์)
- ผู้มีส่วนร่วม
ทำด้วย contrib.rocks
️ใบอนุญาต
ใบอนุญาต Apache 2.0