สวัสดีตอนเช้าสวัสดีตอนบ่ายหรือราตรีสวัสดิ์ โครงการนี้เป็นผู้จัดการของคอลเล็กชันห้องสมุดโรงเรียน ETEC Aristotle Ferreira
ในที่เก็บนี้จะมีสามโครงการ:
ปัจจุบันเสร็จสิ้น API ภายใน GIB บางส่วนที่ทำใน GRPC เป็นไปได้ที่จะทำการทดสอบหน่วยของโครงการ
คุณสามารถเรียกใช้ API ได้สองวิธี: ใช้สภาพแวดล้อมของเครื่องหรือใช้ Docker ควรใช้ Docker หากติดตั้งแล้วหรือไม่สามารถติดตั้งข้อกำหนดสำหรับการดำเนินการในสภาพแวดล้อมของเครื่อง
อาจเป็นไปได้ว่าเนื่องจากแบนด์วิดท์ใช้เวลาในการติดตั้งภาพและแพ็คเกจ
ในการดำเนินการในสภาพแวดล้อมในท้องถิ่นมีข้อกำหนดดังต่อไปนี้:
มีความจำเป็นที่ก่อนที่จะดำเนินการกำหนดค่าไฟล์ ./src/LivrEtec.GIB.Servidor/appsettings.json
ฉันขอแนะนำให้คัดลอกไฟล์ appsettings.modelo.json เติมคุณสมบัติ Authkey ด้วยสตริงที่ทำหน้าที่เป็นคีย์การตรวจสอบและสตริงการเชื่อมต่อตามเซิร์ฟเวอร์ MySQL ของคุณ ใช้เป็นตัวอย่างไฟล์ AppSettings ที่ใช้ใน Docker
หลังจากกำหนดค่าโครงการคุณเปิดโครงการใน Visual Studio และเลือก LivreTec.gib.servator เป็นโครงการเริ่มต้นหรือทำงานบนเครื่องจำลองเทอร์มินัล ./src/LivrEtec.GIB.Servidor
dotnet runข้อผิดพลาดอาจเกิดขึ้นได้หากไม่ได้กำหนดค่า AppSettings อย่างถูกต้องเช่นสตริงการเชื่อมต่อหรือพอร์ตที่ไม่ถูกต้อง ในกรณีที่มีข้อผิดพลาดใด ๆ รู้สึกสบายใจที่จะโพสต์ไฟล์
ในการเรียกใช้เซิร์ฟเวอร์โดยใช้ Docker นั้นง่ายเพียงเรียกใช้คำสั่งต่อไปนี้ในโฟลเดอร์ ./src
docker compose --profile backend up --buildตามที่ระบุไว้ก่อนหน้านี้เนื่องจากจำเป็นต้องดาวน์โหลดรูปภาพและแพ็คเกจ NuGet อาจใช้เวลาไม่กี่นาทีในการดาวน์โหลดขึ้นอยู่กับวงอินเทอร์เน็ตของคุณ
หลังจากดำเนินโครงการเขาจะแจ้งประตูที่เขาฟัง เนื่องจากใบรับรอง SSL ยังไม่ได้รับการกำหนดค่าขอแนะนำให้ใช้มาตรฐาน HTTP
ในการโทรไปยัง API ให้เลือกลูกค้า GRPC ที่คุณเลือก
ทางเลือกบางอย่างคือนอนไม่หลับหรือไปรษณีย์
ไฟล์ Proto API อยู่ที่./src/livretec.gib/protos/acervo.proto
หลังจากนั้นมีความจำเป็นที่จะต้องเข้าสู่ API ผ่านการร้องขอ login ใน GerenciamentoSessao การเข้าสู่ระบบจำเป็นต้องตั้งชื่อการเข้าสู่ระบบและแฮชรหัสผ่าน แต่ครั้งแรกที่เริ่มต้นเซิร์ฟเวอร์มันจะสร้างผู้ใช้กับผู้ใช้ที่มี admin:senha และ id 1
ต้องสร้างแฮชรหัสผ่านดังนี้:
md5(senha + id)
ดังนั้นคำขอควรมีดังนี้:
{
"IdUsuario" : 1 ,
"HashSenha" : " 92f20dafc5e5ac1c66820903c492cc04 "
} จากนั้นมันจะส่งคืนโทเค็น JWT ซึ่งควรเพิ่มลงในส่วนหัวดังนี้: Authorization: Bearer <JWT Token>
โอเคตอนนี้คุณจะสามารถเข้าถึงส่วนที่เหลือของ API ในฐานะผู้ดูแลระบบ
เช่นเดียวกับที่ GIB API เป็นไปได้ที่จะทดสอบในสภาพแวดล้อมและ Docker ในท้องถิ่นคุณสามารถทำการทดสอบได้โดยไม่ต้องมีเซิร์ฟเวอร์ MySQL ที่ติดตั้ง
การทดสอบแบ่งออกเป็นสอง:
ในการดำเนินการทดสอบในท้องถิ่นเพียงแค่ติดตั้ง. NET 6.0.0 และในโฟลเดอร์ ./src/ ดำเนินการตามคำสั่งต่อไปนี้:
dotnet test LivrEtec.sln --filter Category=local หากคุณใช้ Visual Studio เปิดตัวจัดการทดสอบและเรียกใช้หมวดการทดสอบ local
ในการทำการทดสอบระยะไกลคุณต้องเรียกใช้เซิร์ฟเวอร์ GIB ก่อน เมื่อคุณดำเนินการแล้วคุณจะต้องสร้างและกำหนดค่า ./src/LivrEtec.Testes/appsettings.json
คัดลอกไฟล์ appsettings.modelo.json และกรอกข้อมูลเดียวกันกับที่เติมเซิร์ฟเวอร์ GIB AppSettings รวมถึงการเพิ่มลิงก์เซิร์ฟเวอร์หากลิงก์ปรากฏในรูปแบบนี้:
http://[::]:21312หมายถึงhttp://localhost:21312
และหลังจากกำหนดค่าเซิร์ฟเวอร์และการทดสอบเพื่อดำเนินการโครงการเพียงเรียกใช้คำสั่งต่อไปนี้ใน ./src/ ไดเรกทอรี
dotnet test LivrEtec.slnใน Visual Studio เพียงเปิด Test Manager และคลิก Run
หากคุณต้องการใช้ Docker เพียงไปที่โฟลเดอร์ ./src/ และเรียกใช้คอนเทนเนอร์ด้วยคำสั่งต่อไปนี้:
docker compose --profile teste up --build
--buildคือเพื่อให้แน่ใจว่าคอนเทนเนอร์จะถูกดำเนินการด้วยรหัสล่าสุด
หลังจากเรียกใช้การทดสอบคอนเทนเนอร์ฐานข้อมูลจะทำงานต่อไป หากคุณต้องการออกมาโดยอัตโนมัติหลังจากการทดสอบเพิ่ม
--exit-code-from appเป็นธงในคำสั่ง
การออกแบบมีอยู่ที่ https://figma.com/community/file/1176031299741420547
ความช่วยเหลือทั้งหมดยินดีต้อนรับหากคุณต้องการทำงานร่วมกัน เราขอแนะนำให้คุณไปที่ (wiki) [./ wiki/ project-of-projects] และอ่านเล็กน้อยเพื่อให้ได้ภาพรวมโครงการจากนั้นมองหา (./ ปัญหา] ปัญหาใด ๆ ที่คุณสนใจหากคุณพบส้อมของโครงการ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงการดูเอกสารของเรา
ยินดีต้อนรับ :)