เออร์เบินมีท
บทนำ
แพลตฟอร์มโซเชียลมีเดียสมัยใหม่นั้นล้วนเกี่ยวข้องกับการรักษาสายตาของเราไว้ที่หน้าจอ เพื่อเพิ่มยอดดู ไลค์ และเวลาในการรับชม ในการออกแบบมาเพื่อเชื่อมต่อเรากับโลกภายนอก เรามักจะสูญเสียการติดต่อกับโลกรอบตัวเรา ขณะนี้สถานที่สาธารณะส่วนใหญ่เปิดให้บริการเพื่อรองรับความจุเดิม เมื่อโลกกลับสู่สภาวะปกติ ผู้คนทุกวัยย่อมต้องการมารวมตัวกันและเพลิดเพลินกับกิจกรรมกลางแจ้ง ไม่สะดวกที่จะหาสถานที่ที่เหมาะสมในการจัดงานให้คนจำนวนมากในพื้นที่เข้าร่วมหรือไม่? เข้าสู่ UrbanMeet
ปัญหา
แพลตฟอร์มการโฮสต์งานส่วนใหญ่ในปัจจุบันมุ่งเป้าไปที่กิจกรรมเชิงพาณิชย์ที่ทำการตลาดให้กับผู้ชมจำนวนมากและสถานที่ขนาดใหญ่ คนทั่วไปมักจะพบว่าตัวเองมีปัญหาในการแสดงรายการกิจกรรมชุมชนที่เรียบง่ายบนแพลตฟอร์มขนาดใหญ่เหล่านี้ และพวกเขามีแนวโน้มที่จะไม่อยู่ในหมวดหมู่รายการ
การแก้ไขปัญหา
UrbanMeet เป็นแพลตฟอร์มที่ทุกคนสามารถแจ้งเพื่อจัดกิจกรรมในสถานที่สาธารณะ เช่น สวนสาธารณะ สนามกีฬา และศูนย์กีฬาและชุมชน ผู้ใช้สามารถโฮสต์และค้นพบกิจกรรมในบริเวณใกล้เคียง ตั้งแต่การฝึกโยคะในสวนสาธารณะไปจนถึงการแข่งขันคริกเก็ตในท้องถิ่น กิจกรรมเช่นนี้เป็นโอกาสอันดีในการเสริมสร้างสายสัมพันธ์ของชุมชนและสนุกสนานร่วมกัน การชุมนุมเพื่อสร้างความตระหนักสามารถจัดขึ้นเพื่อแก้ไขปัญหาทางสังคมได้เช่นกัน
UrbanMeet มีเป้าหมายที่จะเป็นแอพที่สามารถช่วยเหลือชุมชนในการจัดและแบ่งปันกิจกรรมต่างๆ ด้วยวิธีนี้ UrbanMeet จึงเป็นวิธีที่คล่องตัวสำหรับผู้คนในการพบปะ วางแผน และมีส่วนร่วมในกิจกรรมร่วมกันที่สนุกสนาน
มันทำงานอย่างไร
ในการเยี่ยมชมไซต์ คุณจะเห็นแผนที่ขนาดใหญ่และนำไปยังตำแหน่งปัจจุบันของคุณ และแสดงเหตุการณ์ในละแวกใกล้เคียงและเมืองของคุณ หากไม่ใช่ คุณยังสามารถใช้แถบค้นหาของเราเพื่อค้นหาสถานที่อื่นเพื่อสำรวจกิจกรรมในสถานที่อื่นๆ
บานหน้าต่างกิจกรรมของเราช่วยให้ผู้ใช้สามารถสำรวจกิจกรรมใกล้เคียงและดูรายละเอียดกิจกรรม เช่น เวลาที่จัด จำนวนคนที่คาดว่าจะได้รับ และข้อมูลเพิ่มเติม คุณยังสามารถชอบกิจกรรมที่บันทึกไว้ในภายหลัง นอกจากนี้ยังสามารถคลิกเครื่องหมายของเหตุการณ์ในแถบเพื่อไปยังตำแหน่งนั้นได้อีกด้วย
เราต้องการให้ผู้ใช้ของเราสำรวจโดยสัญชาตญาณ ดังนั้นเราจึงแนะนำสถานที่สาธารณะใกล้คุณที่เหมาะสำหรับการจัดกิจกรรมโดยเน้นเป็นเครื่องหมายบนแผนที่ หลังจากที่คุณตัดสินใจเลือกสถานที่แล้ว คุณสามารถแจ้งกิจกรรมให้คนอื่นเห็นได้
คุณสามารถคลิกที่ปุ่ม 'กิจกรรมของฉัน' เพื่อดูกิจกรรมที่คุณสร้างขึ้นทั้งหมด หากคุณเปลี่ยนใจเกี่ยวกับกิจกรรม คุณสามารถแก้ไขกิจกรรมได้ทุกเมื่อในรายละเอียดใดๆ หรือลบกิจกรรมหากคุณเลือก
ภายใต้ประทุน
การเดินทางของเราเริ่มต้นขึ้นโดยต้องการออกแบบแอปพลิเคชันสำหรับการจัดการแข่งขันกีฬาสำหรับเพื่อนและผู้คนรอบตัวเรา เพื่อให้ค้นพบได้ง่ายขึ้นและเข้าถึงได้สำหรับผู้ที่มองหากิจกรรม เราคิดว่าหากเราสามารถใช้ตำแหน่งของผู้ใช้ได้ เราจะแนะนำกิจกรรมรอบๆ พวกเขาได้ดียิ่งขึ้น
สำหรับสิ่งนี้ เราเริ่มมองหา API ที่สามารถระบุตำแหน่งของสวนสาธารณะและสนามกีฬาพร้อมพิกัด ในการค้นหาของเรา เริ่มแรกเราพบ OpenTripMap ซึ่งให้ข้อมูลตำแหน่งแก่เราและอนุญาตให้เรากรองการค้นหาตามความต้องการของเรา เนื่องจากเหมาะสมกับความต้องการในทันที เราจึงเดินหน้าและออกแบบสคีมาฐานข้อมูลสำหรับการจัดกิจกรรม
เพื่อลดพื้นที่จัดเก็บข้อมูล เราเลือกที่จะแสดงข้อมูลตำแหน่งจาก API ภายนอกจากแบ็กเอนด์ของเรา เราจะบันทึกสถานที่ของเราเมื่อผู้ใช้เลือกที่จะสร้างกิจกรรมที่สถานที่นั้นเท่านั้น
เพื่อให้ผู้ใช้สามารถค้นหาท้องถิ่นของตนได้ เราจำเป็นต้องมี API ที่มีการค้นหารหัสพิกัดล่วงหน้า เนื่องจากเราไม่พอใจกับความต้องการ API ในปัจจุบัน เราจึงพบ API การเติมข้อความอัตโนมัติที่ดีสำหรับการค้นหาสถานที่บน LocationIQ ซึ่งช่วยเสริมแถบค้นหาการเติมข้อความอัตโนมัติในส่วนหน้าของเราอย่างมาก ณ จุดนี้ เราเปลี่ยนไปใช้ LocationIQ เนื่องจากมีตัวเลือกการกรองที่สมบูรณ์ยิ่งขึ้น การเปลี่ยนของเราราบรื่นเนื่องจาก API ทั้งสองใช้ข้อมูลตำแหน่งที่ตั้งจากข้อมูล OpenStreetMap แบบโอเพ่นซอร์ส เนื่องจากเราได้จัดทำดัชนีตำแหน่งของเราตามประเภทและรหัส OSM
บุรุษไปรษณีย์
บุรุษไปรษณีย์ช่วยเราอย่างมากโดยอนุญาตให้เราทดสอบจุดสิ้นสุดของแอปพลิเคชันของเราด้วยพารามิเตอร์การสืบค้นและการให้สิทธิ์ที่แตกต่างกัน
ตำแหน่งข้อมูล GET ของเราส่วนใหญ่เปิดอยู่และไม่ต้องการการอนุญาต เช่น ตำแหน่งที่ตั้งของเรา:
วิธีทดสอบจุดสิ้นสุดกิจกรรมของเราที่สามารถค้นหาผ่านเมืองหรือพิกัด:
เรายังสามารถทดสอบได้ว่าปลายทางที่ผ่านการรับรองความถูกต้องและการอนุญาตของเราทำงานตามที่ตั้งใจไว้หรือไม่:
ทำโดยใช้
- Postman API — สำหรับการทดสอบจุดสิ้นสุดของเรา
- LocationIQ — สำหรับรับข้อมูล geocoding
- MapLibre — สำหรับแสดงแผนที่ในส่วนหน้า
- Django และ Django Rest Framework — สำหรับเซิร์ฟเวอร์ของเรา
- ReactJS — สำหรับแอปพลิเคชันส่วนหน้าของเรา
- GitHub — สำหรับการโฮสต์โค้ดและการควบคุมเวอร์ชันของเรา
- Heroku — สำหรับการโฮสต์แอปพลิเคชันของเรา
- PostgreSQL — สำหรับฐานข้อมูลของเรา
https://team19-submission.herokuapp.com/
ผู้เขียน
วิญญัติ
เคาชิค เดก้า
Kiranbaskar Velmurugan