บทนำ
ยินดีต้อนรับสู่เอกสารอย่างเป็นทางการสำหรับ frontend ของ Appbox แบบ open-sourced
ยินดีต้อนรับสู่เอกสาร Appbox
เรายินดีที่จะประกาศว่า frontend สำหรับ Appbox เปิดเป็น open-sourced แล้วบน GitHub เป้าหมายของเราคือส่งเสริมชุมชนที่ร่วมมือกัน ซึ่งช่วยมีส่วนร่วมกับเอกสาร พัฒนาฟีเจอร์ frontend ใหม่ๆ และช่วยปรับปรุงประสบการณ์ Appbox โดยรวม
แม้ว่าเอกสารของเรายังอยู่ในช่วงเริ่มต้น แต่เรากำลังทำงานเพื่อสร้างแหล่งข้อมูลที่ครอบคลุมคล้ายกับแพลตฟอร์มอื่นๆ ในพื้นที่เดียวกัน ขณะนี้เอกสารของเรามุ่งเน้นไปที่แนวทางการมีส่วนร่วมเป็นหลัก แต่เราวางแผนที่จะขยายให้มีข้อมูลโดยละเอียดสำหรับทุกแอปที่มีอยู่บน Appbox
จนกว่าเอกสารของเราจะสมบูรณ์ยิ่งขึ้น โปรดไปที่ ฐานความรู้เดิม ของเราสำหรับคำถามเร่งด่วนเกี่ยวกับแอปหรือบริการเฉพาะ หากคุณต้องการการสนับสนุนทางเทคนิค คุณสามารถ ส่ง ticket เพื่อขอความช่วยเหลือได้ คุณสามารถเข้าถึงเอกสารใหม่เหล่านี้ได้เสมอผ่านลิงก์ใน footer ของเว็บไซต์เรา เพื่อติดตามความคืบหน้าระหว่างที่เราขยายเนื้อหา
แผนในอนาคต
- คู่มือแอปเชิงลึก
ครอบคลุมการติดตั้ง การแก้ไขปัญหา และเคล็ดลับสำหรับแต่ละแอปที่รองรับบนแพลตฟอร์มของเรา - แหล่งข้อมูลสำหรับผู้ใช้และนักพัฒนา
ให้ข้อมูลครบตั้งแต่บทช่วยสอนที่เป็นมิตรกับผู้เริ่มต้น ไปจนถึง code references ขั้นสูงสำหรับปรับแต่งประสบการณ์ Appbox ของคุณ - เนื้อหาที่ขับเคลื่อนโดยชุมชน
สนับสนุน pull requests, feedback และ suggestions ทุกอย่างยินดีรับและช่วยให้โปรเจกต์นี้เติบโตสำหรับทุกคน
เริ่มต้นใช้งาน
หากคุณต้องการดูหรือมีส่วนร่วมกับโค้ด frontend แบบ open-sourced ของเรา ให้ clone repository Appbox:
git clone https://github.com/appbox-co/appbox.gitจากนั้นเข้าไปในโปรเจกต์และติดตั้ง dependencies:
cd appbox
pnpm install
pnpm devอินสแตนซ์ในเครื่องของคุณจะพร้อมใช้งานที่ http://localhost:3000 คุณสามารถสำรวจ แก้ไข และสร้าง pull requests ได้ตามสะดวก เราขอบคุณทุกการมีส่วนร่วม!
เครื่องมือพัฒนา
Linting
โปรเจกต์มาพร้อมการตั้งค่า linting ที่ครอบคลุมโดยใช้ ESLint พร้อม TypeScript และการผสานรวม Prettier สิ่งนี้ช่วยให้รูปแบบโค้ดสอดคล้องกันและช่วยตรวจจับข้อผิดพลาดทั่วไปตั้งแต่เนิ่นๆ คุณสามารถรันการตรวจสอบ linting ด้วยตนเองได้:
# Run linting
pnpm lint
# Fix automatically fixable issues
pnpm lint:fixการกำหนดค่า ESLint ของเราประกอบด้วย:
- กฎเฉพาะสำหรับ TypeScript ผ่าน
@typescript-eslint - Linting เฉพาะสำหรับ Next.js ด้วย
eslint-config-next - การจัดรูปแบบโค้ดด้วยการผสานรวม Prettier
Pre-commit Hooks
เราใช้ Husky เพื่อจัดการ Git hooks ซึ่งช่วยให้แน่ใจว่าเฉพาะโค้ดคุณภาพเท่านั้นที่ถูก commit เข้าสู่ repository hooks ต่อไปนี้ถูกตั้งค่าไว้:
- pre-commit: รัน
lint:fixก่อนแต่ละ commit เพื่อให้มั่นใจในคุณภาพโค้ด - commit-msg: ใช้ commitlint เพื่อบังคับใช้รูปแบบข้อความ commit แบบ conventional
หมายความว่า commits ของคุณจะถูกตรวจสอบคุณภาพโค้ดและรูปแบบที่ถูกต้องโดยอัตโนมัติก่อนที่จะได้รับการยอมรับ ช่วยรักษามาตรฐานสูงตลอดทั้ง codebase
การสร้าง Pull Requests
เมื่อคุณพร้อมจะมีส่วนร่วมด้วยการเปลี่ยนแปลงของคุณ ให้ทำตามแนวทางเหล่านี้เพื่อเพิ่มโอกาสให้ Pull Request (PR) ของคุณได้รับการยอมรับ:
ก่อนสร้าง PR
-
Rebase จาก main branch ล่าสุด เพื่อหลีกเลี่ยง merge conflicts:
git checkout main git pull origin main git checkout your-branch git rebase main -
ตรวจสอบให้แน่ใจว่า linting ผ่านทั้งหมด:
pnpm lint:fix -
ตรวจสอบให้แน่ใจว่าโค้ดของคุณทำงานได้ในเครื่อง โดยทดสอบฟังก์ชันที่เกี่ยวข้อง
แนวทาง PR
- ให้ PR โฟกัสชัดเจน - แก้ไขหนึ่ง issue หรือหนึ่งฟีเจอร์ต่อ PR
- เขียนข้อความ commit ให้ชัดเจน - ทำตามรูปแบบ conventional commit
- ใส่คำอธิบายที่ชัดเจน - อธิบายว่า PR ของคุณทำอะไรและทำไมจึงจำเป็น
- เพิ่ม tests - หากเหมาะสม ให้เพิ่ม tests เพื่อตรวจสอบว่าการเปลี่ยนแปลงของคุณทำงานถูกต้อง
- จัดทำเอกสารโค้ดของคุณ - ใช้ comments สำหรับ logic ที่ซับซ้อน และตรวจสอบให้แน่ใจว่าชื่อฟังก์ชันสื่อความหมาย
- ทำตามรูปแบบที่มีอยู่ - โค้ดของคุณควรสอดคล้องกับ style และ patterns ที่ใช้ในส่วนอื่นของ codebase
สำหรับการเปลี่ยนแปลงขนาดใหญ่ ควรพิจารณาเปิด issue ก่อนเพื่อพูดคุยแนวทางก่อนลงทุนเวลาเขียนโค้ด วิธีนี้ช่วยให้แน่ใจว่าการมีส่วนร่วมของคุณสอดคล้องกับทิศทางของโปรเจกต์และหลีกเลี่ยงความพยายามที่สูญเปล่า