แอพข่าวดี เป็นโครงการโอเพนซอร์สอย่างเต็มที่สร้างขึ้นมาเพื่อวัตถุประสงค์ทางการศึกษา มันมีแบ็กเอนด์ (คุณสามารถเห็นการตอบสนองของมันถ้าคุณเปิดลิงค์นี้ https://api.good-news.ggc.team/v1/news/ ) เขียนใน Golang, iOS & Android Mobile Apps (ซึ่งฉันจะเผยแพร่ไปยัง App Store และ Google Play) ที่ทำด้วย Flutter ลิงค์ไปยังที่เก็บสำหรับรหัสของแอพมือถือและส่วนหน้าจะถูกเพิ่มในภายหลังเมื่อฉันทำงานเสร็จ รหัสของฉันจะไม่สมบูรณ์แบบเนื่องจากฉันไม่ได้เป็นมืออาชีพที่ยอดเยี่ยมในหัวข้อใด ๆ แต่ฉันจะทำให้ดีที่สุดสัญญา✌ฉันเป็นผู้สนับสนุนความคิดในการแบ่งปันความรู้กับโลกเพราะมันเป็นการดีที่จะแบ่งปันสิ่งที่คุณได้เรียนรู้กับผู้ที่อาจต่อสู้กับปัญหาเดียวกันกับที่คุณเผชิญ กลยุทธ์ win-win
ฉันอยู่ระหว่างการเขียนบทที่แบ่งออกเป็นบทความในสื่อ ด้านล่างคุณจะพบลิงก์ไปยังพวกเขา พวกเขาจะได้รับการอัปเดตเมื่อฉันทำงานเสร็จ
บทความเบื้องต้น - ที่นี่คุณจะพบข้อมูลเบื้องต้นทั้งหมดและลิงก์ไปยังบทอื่น ๆ เช่นกัน
ทุกบทของ "หนังสือ":
และนี่คือบทความของบทปัจจุบัน (ที่เก็บ):
ในการเปิดโครงการนี้ในพื้นที่คุณต้องติดตั้ง Golang และ Docker บนเครื่องของคุณ
ข้อสังเกต: รหัสในที่เก็บนี้ไม่ใช่เวอร์ชันสุดท้ายของสิ่งที่ฉันบอกในบทความของฉัน ตัวอย่างเช่นหากคุณต้องการทราบวิธีการเผยแพร่โครงการนี้ในหยดน้ำทะเลดิจิตอลที่อยู่เบื้องหลังพร็อกซี Reverse Traefik พร้อม HTTPS ที่มีอยู่ในโดเมนของคุณเองคุณจะต้องติดตามบทความทั้งหมดด้านบน
ก่อนอื่นคุณต้อง cd ถึงที่ $GOPATH ของคุณชี้ไปที่เครื่องของคุณจากนั้น cd ถึง $GOPATH/src/github.com/<your_github_or_any_username> หลังจากนั้นคุณจะโคลนพื้นที่เก็บข้อมูลนี้ cd และเรียกใช้กับนักเทียบท่า โปรดตรวจสอบให้แน่ใจว่านักเทียบท่าของคุณเปิดตัวสำเร็จในขณะที่ทำตามขั้นตอนด้านล่าง ดังนั้นขั้นตอนคือ:
> cd ~/go/src/github.com/kanzitelli/ - อาจแตกต่างจากของคุณขึ้นอยู่กับ $GOPATH และ ชื่อผู้ใช้ ของคุณ ในการตรวจสอบว่า $GOPATH ชี้ไปที่ใดโปรดพิมพ์ go env ในเทอร์มินัลและคุณจะพบมันในตอนต้นของรายการที่พิมพ์> git clone https://github.com/kanzitelli/good-news-backend.git> cd good-news-backend/> docker-compose build && docker-compose up -dlocalhost:6969/v1/news/sources คุณไม่ควรเห็นอะไรเลย เพราะเราจำเป็นต้องกำหนดค่า MongoDB ด้วย?> docker exec -it mongo mongo -u "GGCTeamBatr" -p "MySuperSecretPassword" --authenticationDatabase admin -เพื่อเปิดเชลล์ Mongo DB ที่ทำงานภายในคอนเทนเนอร์ Docker ของเรา> use good_news_db - ดังนั้นเราจึงเปลี่ยน (สร้าง) เป็น db ที่ต้องการ> db.createUser({user: 'suuuper_user', pwd: 'soop3r_U$eR_PSWD', roles:[{role:'dbOwner', db:'good_news_db'}]}) - การสร้างผู้ใช้สุดยอด> db.test_collection.insert({ test: "test" }) - การแทรกข้อมูลทดสอบลงในการรวบรวมการทดสอบ> show collections - แสดงคอลเลกชันทั้งหมดของฐานข้อมูลที่สร้างขึ้นก่อนหน้านี้ของเราเพื่อให้แน่ใจว่าคอลเลกชันทดสอบของเราถูกสร้างขึ้นสำเร็จ> exit - กล่าวคำอำลากับเชลล์ Mongo> docker ps - เพื่อแสดงคอนเทนเนอร์ Docker ที่รันทั้งหมด ค้นหา CONTAINER ID (คอลัมน์แรก) ของคอนเทนเนอร์ชื่อ api> docker stop <api_contrainer_id> - เพื่อหยุดคอนเทนเนอร์ API เราจะเรียกใช้ใหม่ในขั้นตอนต่อไป> docker-compose build && docker-compose up -d -เพื่อสร้างคอนเทนเนอร์ Docker ของเราใหม่ด้วยการตั้งค่าใหม่ที่ใช้กับ MongoDB.env ในรูทของโครงการ (ในกรณีที่คุณต้องการเปลี่ยน)localhost:6969/v1/news/sources ตอนนี้คุณควรเห็นแหล่งข่าวที่เต็มไปก่อนเปิดตัวเซิร์ฟเวอร์ หลังจาก 3 นาทีคุณจะสามารถเห็นข่าวแรกที่รวบรวมจากการแยกวิเคราะห์เว็บไซต์ข่าวโดยการเปิด localhost:6969/v1/news ทำไม 3 นาที? ติดตามบทความของฉันเกี่ยวกับสื่อเพื่อทำความเข้าใจหากคุณมีความคิดเห็นหรือข้อเสนอแนะโปรดส่งอีเมลถึงฉันที่ [email protected]? หากคุณต้องการทราบเมื่อฉันโพสต์บทความใหม่ติดตามฉันบน Twitter?