Agelgil Primer Healthy Recipe Hub เป็นแพลตฟอร์มที่ใช้งานง่ายซึ่งช่วยให้ผู้ที่มีความต้องการอาหารที่หลากหลายในการค้นหาแบ่งปันและเข้าถึงห้องสมุดที่กว้างขวางของข้อเสนอโฮมเมดพร้อมคำแนะนำสูตรอาหารส่วนบุคคลตามความต้องการอาหารของแต่ละบุคคลและสภาพสุขภาพ
ในการเรียกใช้โครงการนี้คุณจะต้องเพิ่มตัวแปรสภาพแวดล้อมต่อไปนี้ใน ไฟล์. ENV ของคุณบน /api/.env. การพัฒนา การผลิต]
จำเป็นต้องเพิ่ม. env.development เพื่อทำงานในพื้นที่
จำเป็นต้องเพิ่ม. env.production สำหรับการผลิต
DATABASE_URL : ตัวแปรสภาพแวดล้อมนี้จัดเก็บสตริงการเชื่อมต่อไปยังฐานข้อมูล MongoDB ของคุณ ตัวอย่างเช่นมันอาจชี้ไปที่คลัสเตอร์ MongoDB Atlas (เช่น mongodb+srv://<username>:<password>@cluster0.mongodb.net/myDatabase ) หรืออินสแตนซ์ MongoDB ท้องถิ่นเพื่อการพัฒนา
MONGOMS_SYSTEM_BINARY : ตัวแปรนี้ระบุเส้นทางไปยังระบบไบนารีระบบ MongoDB (เช่น mongod.exe ) ส่วนใหญ่ใช้ในการทดสอบสถานการณ์ที่ต้องใช้ MongoDB โดยเฉพาะอย่างยิ่งเมื่อใช้เวอร์ชันเช่น MongoDB v6.0.9
APP_PORT : หมายเลขพอร์ตที่แอปพลิเคชันของคุณจะทำงาน ตัวอย่างเช่นในสภาพแวดล้อมในท้องถิ่นนี้สามารถตั้งค่าเป็น 3000 สำหรับแอป Node.js หรือหมายเลขพอร์ตอื่น ๆ ขึ้นอยู่กับการกำหนดค่าเซิร์ฟเวอร์
REDIS_URL : สตริงการเชื่อมต่อสำหรับเซิร์ฟเวอร์ Redis ของคุณ โดยทั่วไปแล้ว Redis จะใช้สำหรับการแคชและฟังก์ชั่นเรียลไทม์ ตัวอย่างเช่น redis://localhost:6379 สำหรับอินสแตนซ์ท้องถิ่นหรือ redis://<username>:<password>@redis.cloudprovider.com:6379 สำหรับบริการ Redis บนคลาวด์
USER_SECRET , MODERATOR_SECRET , CONTROLLER_SECRET : นี่คือคีย์ลับ JWT (JSON Web Token) ที่ใช้ลงนามและตรวจสอบโทเค็นสำหรับบทบาทที่แตกต่างกันภายในแอปพลิเคชันของคุณ แต่ละบทบาท (ผู้ใช้ผู้ดูแลและคอนโทรลเลอร์) มีความลับเพื่อความปลอดภัย
USER_REfRESH_SECRET , MODERATOR_REfRESH_SECRET , CONTROLLER_REfRESH_SECRET : ความลับเหล่านี้ถูกใช้โดยเฉพาะสำหรับการสร้างโทเค็นรีเฟรชซึ่งช่วยให้ผู้ใช้สามารถรับโทเค็นการเข้าถึงใหม่ได้
CALORIENINJAS_API_KEY : คีย์นี้อนุญาตให้เข้าถึง Calorieninjas API
CIPHERIV_SECRET_KEY : คีย์ที่ใช้สำหรับการเข้ารหัสและถอดรหัสลิงค์ที่มีความละเอียดอ่อน
SHAREABLE_LINK_BASE_URL : ตัวแปรนี้กำหนด URL พื้นฐานที่ใช้สำหรับการสร้างลิงก์ที่แชร์ได้ในแอปพลิเคชันของคุณ (เช่น http://myapp.com/page?id=1 )
DATASAX_ASTRA_TOKEN : โทเค็นที่ใช้ในการตรวจสอบความถูกต้องด้วยฐานข้อมูล DataStax Astra DATASAX_ASTRA_DB_NAME : ชื่อของฐานข้อมูลที่คุณใช้ใน DataStax Astra DATASAX_ASTRA_API_Endpoint : จุดสิ้นสุด API สำหรับการสื่อสารกับ DataStax Astra (เช่น https://<database-id>-<region>.apps.astra.datastax.com )
NEO4J_URL : URL การเชื่อมต่อกับอินสแตนซ์ฐานข้อมูล Neo4J ของคุณ โดยทั่วไปจะเป็นไปตาม bolt:// Protocol (เช่น bolt://localhost:7687 สำหรับอินสแตนซ์ท้องถิ่น) NEO4J_USER : ชื่อผู้ใช้ที่ใช้สำหรับการตรวจสอบ Neo4J NEO4J_PASSWORD : รหัสผ่านที่ใช้สำหรับการตรวจสอบ NEO4J NEO4J_DATABASE : ชื่อของฐานข้อมูลเฉพาะที่ใช้ภายใน neo4j
โคลนโครงการ
git clone https://github.com/kaleabteweld/Agelgil-primer-healthy-recipe-hub-backendไปที่ไดเรกทอรีโครงการ
cd Agelgil-primer-healthy-recipe-hub-backendติดตั้งการพึ่งพา
npm installเริ่มต้นเซิร์ฟเวอร์การพัฒนา (จะตั้งค่า NODE_ENV เป็นการพัฒนา)
npm run devในการเรียกใช้การทดสอบให้เรียกใช้คำสั่งต่อไปนี้
npm run test