ยินดีต้อนรับสู่ Let's Build ครั้งต่อไปของเรา! โครงสร้างนี้แนะนำ Twitter ยักษ์ใหญ่ด้านโซเชียลมีเดียที่รู้จักกันดีเพื่อเป็นแรงบันดาลใจสำหรับโปรเจ็กต์นี้ เราจะสร้างสิ่งที่เรียกว่า twittter
แอปนี้จะแสดงระบบบทบาทของผู้ใช้ที่โดดเด่นที่สุด โดยให้ความรู้สึกของเว็บแอปพลิเคชันและแอปพลิเคชันนำทางของคุณภายในเบราว์เซอร์ ฉันจะดำเนินการให้เร็วกว่ารุ่นก่อนเล็กน้อย เนื่องจากเป็นแบบฝึกหัดพื้นฐานมากกว่าที่ฉันอธิบายแนวคิดทั่วไปที่เกี่ยวข้องกับระบบนิเวศ Ruby on Rails เราจะใช้เครื่องกำเนิดไฟฟ้า Rails เพื่อช่วยประกอบบางสิ่งที่ฉันได้กล่าวถึงไปแล้ว หากคุณยังไม่ได้ดู Let's Build ภาคแรก ฉันขอเชิญชวนให้คุณดูเพื่อทำความเข้าใจว่าเรากำลังทำอะไรอยู่
ดาวน์โหลดซอร์สโค้ด
ตัวแอปจะมีหลักการ CRUD พื้นฐานที่เราสามารถสร้าง อ่าน อัปเดต และทำลาย ทวีต ได้ โดยพื้นฐานแล้ว นี่เป็นสิ่งเดียวกับงานสร้างก่อนหน้าของฉันที่เราสร้างโพสต์สำหรับบล็อก นอกเหนือจาก Tweeets ฉันขอแนะนำอัญมณีใหม่ที่เรียกว่า Devise ซึ่งทำให้การสร้างบทบาทผู้ใช้ทั้งหมดและระบบการตรวจสอบสิทธิ์เป็นเรื่องง่าย เมื่อรวมกับอัญมณีนี้ เราสามารถตรวจสอบผู้ใช้ที่ต้องการเขียน ทวีต ได้ ทวีต ของผู้ใช้จะเชื่อมโยงกับบัญชีของพวกเขาด้วย ผลลัพธ์ที่ได้คือไซต์สาธารณะพร้อมทวีตจากผู้ใช้หลายราย ผู้ใช้ที่มีและบัญชีสามารถเข้าสู่ระบบเพื่อสร้าง ทวีต ของตนเองเพื่อเพิ่มไปยังสตรีมสาธารณะ
Twitter เป็นแอปพลิเคชั่นที่ค่อนข้างซับซ้อน ฉันจะไม่ครอบคลุมการตอบกลับ รีทวีต ไลค์และฟีเจอร์พื้นฐานอื่นๆ ของโซเชียลมีเดียยักษ์ใหญ่ชื่อดังแห่งนี้ แต่ฉันขอเชิญคุณให้ลองคิดดูว่าจะเพิ่มคุณสมบัติเหล่านั้นได้อย่างไร คล้ายกับบล็อกที่ฉันสร้างความคิดเห็น ลองดูว่าคุณจะทราบวิธีเพิ่มการตอบกลับไปยังแอปพลิเคชันด้วยตัวเองได้หรือไม่ (เคล็ดลับ: มันเหมือนกับการเพิ่มความคิดเห็นในโพสต์บล็อกเหมือนกับที่ฉันทำในรุ่นก่อนหน้า ;) ) ฉันอาจกลับมาที่แอพนี้อีกครั้งเพื่อเพิ่มคุณสมบัติเพิ่มเติมเป็นแบบฝึกหัดอื่น แต่ฉันหมดเวลาแล้วจริงๆ! แจ้งให้เราทราบหากคุณต้องการเห็นฉันขยายเรื่องนี้เพิ่มเติม
นอกจากนี้ยังมีอัญมณีเล็กๆ น้อยๆ สำหรับการ "ถูกใจ" โพสต์อีกด้วย นี่คือรายการโปรดของฉัน
หมายเหตุ: ข้อผิดพลาดใหญ่ประการหนึ่งที่ฉันสังเกตเห็นหลังจากเรียกมันออกจากบิลด์นี้คือ ผู้ใช้ที่เข้าสู่ระบบสามารถแก้ไขทวีตของผู้ใช้ราย อื่น ได้ นี่เป็นข้อบกพร่องด้านความปลอดภัยครั้งใหญ่ เนื่องจากความสามารถของผู้ใช้ควรอยู่ในบัญชีของตนเองเท่านั้น ดูว่าคุณสามารถหาวิธีที่อนุญาตให้เฉพาะผู้ใช้ที่เข้าสู่ระบบปัจจุบันแก้ไขทวีตของตนเอง ไม่ใช่ผู้ใช้รายอื่นได้หรือไม่ ฉันอาจกลับมาดูซีรี่ส์นี้อีกครั้งเพื่อขยายและแก้ไขปัญหาเหล่านี้
ข้อผิดพลาดที่ดีกว่า - เพื่อข้อผิดพลาดที่ดีกว่า
Bulma - สำหรับ CSS ที่ง่าย คุณสามารถเลือกสไตล์ของคุณเองและ/หรือใช้เฟรมเวิร์กอื่นได้ตามใจชอบ
Guard - มีประโยชน์สำหรับการรีโหลดไฟล์ scss
, js
, css
และ erb
ของเราแบบสดๆ แม้ว่าจะมีความสามารถมากกว่านั้นก็ตาม!
จำเป็นต้องมี Guard เพื่อให้ Guard LiveReload gem ทำงานได้
Guard Live รีโหลด
Simple Form - สำหรับรูปแบบง่ายๆ!
ประดิษฐ์ - บทบาทผู้ใช้และการตรวจสอบสิทธิ์ที่ง่ายดาย
Gravatar_image_tag - แท็กรูปภาพแบบรวมที่แยกกราวาตาร์ออก
อ่านต่อได้ที่ web-crunch.com