Wednesday, May 1, 2019

Mini Project - MetroLab: The BTS Skytrain (ยังไม่สมบูรณ์)


MetroLab: The BTS Skytrain

1. วาดแผนภาพความสัมพันธ์
ประกอบไปด้วยเอ็นทิทีเส้นทาง (Route), สถานี (Station), สถานที่โดยรอบ (Place), เวลาในการเดินรถ (Schedule Time), ความถี่ในการเดินรถ (Service Interval) และบัตรโดยสารรถไฟฟ้า (Card)

Route Entity
ในหนึ่งเส้นทางจะมีรหัส ชื่อ สี และสถานะของเส้นทางนั้น ๆ

Station Entity
สถานีมีรหัสและชื่อประจำสถานี, ตำแหน่งละติจูดและลองจิจูด, ตัวตรวจสอบการเป็นสถานีส่วนต่อขยาย, ตัวตรวจสอบการเปิดใช้บริการของสถานี และรหัสของเส้นทางที่สถานีนั้น ๆ เชื่อมต่ออยู่

Place Entity
สถานที่โดยรอบแต่ละสถานี ประกอบด้วย ชื่อสถานี หมวดหมู่ ตำแหน่งละติจูดและลองจิจูด

Service Interval Entity
ความถี่ในการเดินรถของแต่ละเส้นทาง ประกอบด้วย เหตุการณ์ (เช่น วันธรรมดา วันหยุด เป็นต้น) เวลาเริ่มต้น เวลาสุดท้าย และระยะเวลาในการคอยขบวนรถแต่ละขบวน

Schedule Time Entity
เวลานัดหมายของแต่ละขบวนรถของแต่ละสถานีในแต่ละเส้นทาง ประกอบด้วย เที่ยว (ขาเข้า หรือ ขาออก) เวลาของรถไฟขบวนแรกและเวลาของรถไฟขบวนสุดท้ายที่เข้าออกสถานีนั้น ๆ

Card Entity
บัตรสำหรับใช้ในการเดินทางด้วยรถไฟฟ้า ประกอบด้วย ประเภทของบัตร และชื่อของบัตร

จากรายละเอียดข้างต้น สามารถวาดแผนภาพได้ดังนี้



2. Relational Mapping
Route
idnamecolorstatus

Station
idnamelatlongroute_interisExtentionisAvailableroute_id

Place
namecategorylatlongstation_id

Service Interval
eventtime_fromtime_totime_waitroute_id

Schedule Time
triptime_firsttime_lastroute_idstation_id

Card
namecategory


Website



เมื่อเข้าสู่เว็บไซต์ จะพบกับหน้าค้นหาที่จะแสดงรายชื่อของสถานีเมื่อค้นหา (ยังสามารถค้นหาสถานีโดยระบุรหัสสถานีหรือหมายเลขสถานีได้)


หน้า trip (หลังจากค้นหาสถานี)


มีทั้งหมด 5 ส่วน แบ่งได้ดังนี้
1. ชื่อสถานีต้นทางและปลายทาง พร้อมด้วยชื่อเส้นทาง


2. ราคาค่าโดยสารตามประเภทของบัตรโดยสาร


3. สถานีที่อยู่ระหว่างสถานีต้นทางและสถานีปลายทาง พร้อมแสดงสถานีที่มีการเปลี่ยนขบวนรถ
สามารถขยายเพื่อดูสถานีทั้งหมดได้


4. ตารางเวลาของรถไฟแต่ละขบวนรถที่มุ่งหน้าไปยังเส้นทางของสถานีปลายทาง นับเวลาแบบเรียลไทม์
เมื่อเวลาผ่านไปจะมีการปรับปรุงเวลาตลอดเวลา ดังรูปด้านล่าง
* เวลาดังกล่าว เป็นเวลาตามกำหนดเวลา ไม่ใช่เวลาจริงของขบวนรถ ณ ขณะนั้น
** เวลาดังกล่าวอาจมีค่าคาดเคลื่อนประมาณ 1 - 5 นาที

5. รายชื่อสถานที่โดยรอบสถานีปลายทาง พร้อมรูปภาพแผนที่จาก Google Maps (ไม่รวมสถานที่ที่ปรากฏในรายชื่อด้านล่าง)

Online Repository

เป้าหมาย
✅ ค้นหารายชื่อสถานี
✅ แสดงราคาค่าโดยสารตามประเภทของบัตรโดยสาร
✅ แสดงรายชื่อสถานีจากต้นทางไปยังปลายทาง
✅ แสดงตารางเวลาของขบวนรถที่เข้า-ออกสถานีต้นทาง
✅ แสดงรายชื่อของสถานที่รอบสถานีปลายทาง
✅ ค้นหาสถานีโดยใช้ตำแหน่งปัจจุบันของอุปกรณ์

ปัญหา
  • ในหน้าแสดงรายละเอียดเส้นทาง ในส่วนของรายชื่อสถานี ยังแสดงสีของเส้นทางได้ไม่ถูกต้อง ซึ่งต้องไม่เป็นสีแดง
  • ในหน้าแสดงรายละเอียดเส้นทาง ตารางเวลายังแสดงผลได้ไม่ถูกต้อง



อ้างอิง:

Saturday, February 2, 2019

SQLite - Book DB