แอปพลิเคชั่นเว็บ Next.js และ MongoDB ออกแบบด้วยความเรียบง่ายสำหรับการเรียนรู้และการบังคับใช้ในโลกแห่งความเป็นจริง
ตรวจสอบการสาธิต
- เร็วและเบาโดยไม่ต้องมีขนาดใหญ่, slow express.js
การใช้งานเส้นทาง API เต็มรูปแบบและ? พร้อมเซิร์ฟเวอร์พร้อม
- รูปแบบมิดเดิลแวร์ ol 'ที่ดีเข้ากันได้กับระบบนิเวศด่วนขับเคลื่อนโดยการเชื่อมต่อครั้งต่อไป
- จูบ: ไม่มีสิ่งแฟนซีเช่น graphql, sass, redux ฯลฯ ✍มาพร้อมกับโพสต์บล็อกอธิบาย
- สามารถปรับให้เข้ากับฐานข้อมูลใด ๆ นอกเหนือจาก MongoDB (เพียงอัปเดต API-LIB/DB)
มีคุณสมบัติใด ๆ ที่คุณสนใจสร้างปัญหา ต้องการทำงานกับฟีเจอร์สร้าง PR
โครงการนี้มาพร้อมกับโพสต์ต่อไปนี้:
ตรวจสอบพวกเขาใน dev.to
แม้ว่าโครงการจะถูกเขียนขึ้นเพื่อความปลอดภัย แต่ความเรียบง่ายต้องมีการพิจารณาอย่างรอบคอบสำหรับการใช้งานในการผลิตที่ละเอียดอ่อน ยื่นปัญหาหากคุณพบปัญหาความปลอดภัยใด ๆ
โครงการนี้ใช้การพึ่งพาต่อไปนี้:
next.js - V9.3 หรือสูงกว่าที่จำเป็นสำหรับ เส้นทาง API และ วิธีการดึงข้อมูล ใหม่react - V16.8 หรือสูงกว่าที่จำเป็นสำหรับ การทำปฏิกิริยาreact-dom - V16.8 หรือสูงกว่าswr - จำเป็นสำหรับการจัดการสถานะอาจถูกแทนที่ด้วย react-querymongodb - อาจถูกแทนที่ด้วย mongoosepassport , passport-local - จำเป็นสำหรับการตรวจสอบความถูกต้องnext-connect - แนะนำหากคุณต้องการใช้มิดเดิลแวร์ Express/Connect และการกำหนดเส้นทางวิธีที่ง่ายขึ้นnext-session , connect-mongo จำเป็นสำหรับเซสชันอาจถูกแทนที่ด้วยไลบรารีเซสชันอื่น ๆ เช่น cookie-session , next-iron-session หรือ express-session ( express-session ไม่สามารถทำงานได้อย่างถูกต้องใน Next.js 11+)bcryptjs - เป็นทางเลือกอาจถูกแทนที่ด้วยไลบรารีการแฮชรหัสผ่านใด ๆ argon2 แนะนำvalidator - ตัวเลือก แต่แนะนำเพื่อตรวจสอบอีเมลajv - ตัวเลือก แต่แนะนำเพื่อตรวจสอบตัวตนของคำขอmulter - อาจถูกแทนที่ด้วยมิดเดิลแวร์ใด ๆ ที่จัดการ multipart/form-datacloudinary - เสริม เฉพาะในกรณีที่ คุณใช้ Cloudinary สำหรับการอัปโหลดรูปภาพnodemailer - เป็นทางเลือก เฉพาะในกรณีที่ คุณใช้สำหรับอีเมล ขอแนะนำให้ใช้บริการบุคคลที่สามเช่น Mailgun, AWS SES ฯลฯ แทนตัวแปรด้านสิ่งแวดล้อมในโครงการนี้รวมถึง:
MONGODB_URI สตริงการเชื่อมต่อ MongoDB (พร้อมข้อมูลรับรองและชื่อฐานข้อมูล)WEB_URI URL ของเว็บแอปของคุณCLOUDINARY_URL (เป็นตัวเลือก, Cloudinary Only ) ตัวแปรสภาพแวดล้อมแบบคลาวด์สำหรับการกำหนดค่า ดูสิ่งนี้NODEMAILER_CONFIG (เป็นทางเลือกหากใช้ nodemailer เท่านั้น ) json stringified nodemailer config เช่น {"service":"Gmail","auth":{"user":"[email protected]","pass":"aHR0cHM6Ly95b3V0dS5iZS9kUXc0dzlXZ1hjUQ=="}} เริ่มต้นเซิร์ฟเวอร์การพัฒนาโดยเรียกใช้ yarn dev หรือ npm run dev เริ่มต้นใช้งานโดยสร้างไฟล์ .env.local พร้อมตัวแปรข้างต้น ดูตัวแปรสภาพแวดล้อม
โครงการนี้สามารถปรับใช้ได้ทุกที่ถัดไป Js สามารถปรับใช้ได้ ตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวแปรสภาพแวดล้อมโดยใช้ตัวเลือกที่จัดทำโดยผู้ให้บริการคลาวด์/โฮสติ้งของคุณ
หลังจากสร้างโดยใช้ npm run build เพียงเริ่มเซิร์ฟเวอร์โดยใช้ npm run start
นอกจากนี้คุณยังสามารถปรับใช้สิ่งนี้กับผู้ให้บริการที่ไม่มีเซิร์ฟเวอร์เนื่องจากการตั้งค่าที่ถูกต้อง
โปรดดูการสนับสนุนของฉัน
มิกซ์