
Start UI [Web] เป็นที่เก็บเริ่มต้นที่มีความคิดเห็นที่สร้างและดูแลโดยทีม Bearstudio และผู้มีส่วนร่วมอื่น ๆ มันแสดงให้เห็นถึงสแต็กที่ทันสมัยของทีมที่เราใช้เมื่อสร้างเว็บแอพสำหรับลูกค้าของเรา
สำหรับข้อมูลโดยละเอียดเกี่ยวกับวิธีการใช้โครงการนี้โปรดดูเอกสารประกอบ เอกสารประกอบมีข้อมูลที่จำเป็นทั้งหมดเกี่ยวกับการติดตั้งการใช้งานและคำแนะนำบางอย่าง
การสาธิตการอ่านแบบสดๆอย่างเดียวเกี่ยวกับสิ่งที่คุณจะมีเมื่อเริ่มต้นโครงการด้วย Start UI [Web] พร้อมใช้งานใน demo.start-ui.com

- TypeScript, ⚛ React, ⚫ nextjs, ⚡ Chakra UI,? trpc, ▲ prisma, ️ tanstack แบบสอบถาม, นิทาน,? นักเขียนบทละคร? ตอบสนองแบบฟอร์มเบ็ด? ตอบสนอง i18next
pnpm create start-ui --web myAppนั่นจะนั่งร้านโฟลเดอร์ใหม่ที่มี start ui [เว็บ] เวอร์ชันล่าสุด?
.env.example เป็นไฟล์ .env ใหม่และอัปเดตตัวแปรสภาพแวดล้อม cp .env.example .envบันทึก
คำแนะนำอย่างรวดเร็วสำหรับการพัฒนาในท้องถิ่น
pnpm installpnpm dk:initบันทึก
ไม่ต้องการใช้ Docker?
ตั้งค่าฐานข้อมูล PostgreSQL (ท้องถิ่นหรือออนไลน์) และแทนที่ตัวแปรสภาพแวดล้อม database_url จากนั้นคุณสามารถเรียกใช้ pnpm db:push เพื่ออัปเดตสคีมาฐานข้อมูลของคุณจากนั้นเรียกใช้ pnpm db:seed เพื่อเมล็ดฐานข้อมูลของคุณ
# Run the database in Docker (if not already started)
pnpm dk:start
# Run the development server
pnpm devในการพัฒนาอีเมลจะไม่ถูกส่งและจะถูกจับโดย MailDev
MailDev UI มีให้ที่ 0.0.0.0:1080
เทมเพลตอีเมลถูกสร้างขึ้นด้วยส่วนประกอบ react-email ในโฟลเดอร์ src/emails
คุณสามารถดูตัวอย่างเทมเพลตอีเมลได้ที่ http://localhost:3000/devtools/email/{template} โดยที่ {template} เป็นชื่อของไฟล์เทมเพลตในโฟลเดอร์ src/emails/templates
ตัวอย่าง: รหัสเข้าสู่ระบบ
เพิ่มภาษาใน URL ตัวอย่างเช่น http://localhost:3000/devtools/email/{template}/{language} โดยที่ {language} เป็นคีย์ภาษา ( en , fr , ... )
คุณสามารถเพิ่มพารามิเตอร์การค้นหาลงใน URL ตัวอย่างเพื่อผ่านเป็นอุปกรณ์ประกอบฉากไปยังเทมเพลต http://localhost:3000/devtools/email/{template}/?{propsName}={propsValue}
pnpm storybookเมื่อเพิ่มหรืออัปเดตส่วนประกอบชุดรูปแบบการเปลี่ยนแปลงส่วนประกอบขนาดสีและฐานรากธีมอื่น ๆ คุณสามารถขยายการพิมพ์ชุดรูปแบบภายในเพื่อให้การเติมอัตโนมัติที่ดี
เพียงเรียกใช้คำสั่งต่อไปนี้หลังจากอัปเดตธีม:
pnpm theme:generate-typing ใส่ไฟล์ SVG ที่กำหนดเองลงในโฟลเดอร์ src/components/Icons/svg-sources จากนั้นเรียกใช้คำสั่งต่อไปนี้:
pnpm theme:generate-iconsคำเตือน
ไอคอน SVG ทั้งหมดควรเป็นไฟล์ SVG ที่นำหน้าด้วย icon- (ตัวอย่าง: icon-externel-link ) ที่มีขนาด 24x24px เพียง รูปร่างเดียว และ เต็มไปด้วยสี #000 (จะถูกแทนที่ด้วย currentColor )
คุณสามารถอัปเดตคีย์จัดเก็บข้อมูลที่ใช้ในการตรวจจับโหมดสีโดยการอัปเดตค่าคงที่นี้ในไฟล์ src/theme/config.ts :
export const COLOR_MODE_STORAGE_KEY = 'start-ui-color-mode' ; // Update the key according to your needsการทดสอบ E2E ถูกตั้งค่าด้วยนักเขียนบทละคร
pnpm e2e # Run tests in headless mode, this is the command executed in CI
pnpm e2e:ui # Open a UI which allow you to run specific tests and see test execution การทดสอบเขียนไว้ในโฟลเดอร์ e2e ; นอกจากนี้ยังมีโฟลเดอร์ e2e/utils ซึ่งมี Utils บางอย่างเพื่อช่วยในการเขียนการทดสอบ
ตั้งค่าตัวแปร NEXT_PUBLIC_ENV_NAME env ด้วยชื่อของสภาพแวดล้อม
NEXT_PUBLIC_ENV_NAME="staging"
NEXT_PUBLIC_ENV_EMOJI="?"
NEXT_PUBLIC_ENV_COLOR_SCHEME="teal"
เราแนะนำให้ใช้ปลั๊กอินพันธมิตร I18N สำหรับรหัส VS สำหรับการจัดการการแปล
สร้างหรือแก้ไขไฟล์ .vscode/settings.json ด้วยการตั้งค่าต่อไปนี้:
{
"i18n-ally.localesPaths" : [ " src/locales " ],
"i18n-ally.keystyle" : " nested " ,
"i18n-ally.enabledFrameworks" : [ " general " , " react " , " i18next " ],
"i18n-ally.namespace" : true ,
"i18n-ally.defaultNamespace" : " common " ,
"i18n-ally.extract.autoDetect" : true ,
"i18n-ally.keysInUse" : [ " common.languages.* " ]
}pnpm install
pnpm storybook:build # Optional: Will expose the Storybook at `/storybook`
pnpm build
pnpm startstart-ui-web ด้วยชื่อโครงการของคุณ) docker build -t start-ui-web .
start-ui-web ด้วยชื่อโครงการของคุณ) docker run -p 80:3000 start-ui-web
แอปพลิเคชันจะถูกเปิดเผยในพอร์ต 80 (http: // localhost)