@cmru-comsci-66/cmru-api - v0.5.0
    Preparing search index...

    @cmru-comsci-66/cmru-api - v0.5.0

    CMRU API (Unofficial)

    NPM Version NPM Last Update GitHub License

    CMRU API มุ่งเน้นการทดลองสร้างไลบรารีสำหรับสื่อสารกับบริการที่เกี่ยวข้องกับมหาวิทยาลัยราชภัฏเชียงใหม่ โดยมุ่งหวังให้ผู้สนใจด้านโปรแกรมมิ่งได้ศึกษาวิธีเรียกใช้งาน API, การจัดการ Session, และการแปลงข้อมูล HTML เป็นโครงสร้าง json ที่นำไปใช้ต่อได้ง่าย

    Warning

    โปรเจ็กต์งานอดิเรกที่พัฒนาขึ้นเพื่อสำรวจการเชื่อมต่อกับบริการที่เกี่ยวข้องกับ CMRU โดยไม่มีความเกี่ยวข้องทางการกับหน่วยงานหรือบุคลากรของมหาวิทยาลัย

    เลือกติดตั้งแพ็กเกจด้วยตัวจัดการที่ถนัด:

    bun add @cmru-comsci-66/cmru-api

    npm install @cmru-comsci-66/cmru-api

    pnpm add @cmru-comsci-66/cmru-api

    yarn add @cmru-comsci-66/cmru-api

    # หรือ @cmru-computer-science-66/cmru-api

    ตัวอย่างการใช้งานพร้อม type inference:

    import { ApiClient, ApiServer, type ParsedScheduleData } from "@cmru-comsci-66/cmru-api";

    const client = new ApiClient(ApiServer.BUS);
    const busApi = client.api();

    await busApi.login("66143000", "password");
    const schedule: ParsedScheduleData = await busApi.getSchedule();

    console.log(schedule.reservations.length);

    TypeScript จะได้รับไฟล์ definition โดยอัตโนมัติจากแพ็กเกจ ไม่จำเป็นต้องติดตั้งไลบรารี @types เสริม

    ตัวอย่างสำหรับ Node.js 20+ หรือ Bun ที่รองรับ ES Module:

    import { ApiClient, ApiServer } from "@cmru-comsci-66/cmru-api";

    const apiClient = new ApiClient(ApiServer.BUS);
    const busApi = apiClient.api();

    await busApi.login("66143000", "password");
    const schedule = await busApi.getSchedule();

    console.log(schedule);

    หากต้องการใช้ในสภาพแวดล้อม CommonJS ให้เรียกใช้ const { ApiClient, ApiServer } = require("@cmru-comsci-66/cmru-api");

    สามารถอ่านรายละเอียดของโมดูล ฟังก์ชัน และชนิดข้อมูลทั้งหมดได้ที่ เว็บไซต์เอกสารประกอบ

    • การจองรถบัส

      • [x] จอง/ยืนยัน/ยกเลิกการจองรถ >0.2.0
      • [x] ดูข้อมูลตารางเดินรถต่างๆ >0.3.2
      • [x] โปรไฟล์ >0.5.0
    • สำนักทะเบียน

      • [x] ตารางเรียน/สอบ นักศึกษา >0.2.0
      • [x] ประวัตินักศึกษา >0.5.0
      • [x] ผลการศึกษา >0.5.0
      • [x] ประวัติเข้าร่วมกิจกรรม >0.5.0
      • [x] ตรวจสอบการผ่านกิจกรรม >0.5.0
      • [x] แผนการเรียน >0.5.0
    • สำนักทะเบียน
      • [ ] ระบบลงทะเบียนรายวิชา
      • [ ] ระบบแจ้งเตือนและประกาศ
      • [ ] ระบบบันทึกข้อมูลความถนัด
      • [ ] เปลี่ยนรหัสผ่าน
      • [ ] ปฏิทินการศึกษา
      • [ ] ลงทะเบียนเพิ่มถอน
      • [ ] ผลการลงทะเบียนและพิมพ์ใบชำระเงิน
      • [ ] พิมพ์ใบเสร็จ
      • [ ] ภาระค่าใช้จ่ายและทุนการศึกษา
      • [ ] ประเมินผู้สอน
      • [ ] ตรวจสอบสถานะจบการศึกษา
      • [ ] คำร้องออนไลน์
      • [ ] ผลอนุมัติคำร้อง
      • [ ] สมัครเข้าร่วมกิจกรรม
      • [ ] วิชาที่เปิดสอน
      • [ ] ค้นหาตารางเรียน
      • [ ] ตารางสอนอาจารย์
      • [ ] ค้นหาตารางการใช้ห้อง
      • [ ] จำนวนนักศึกษาตามหมู่เรียน
      • [ ] ตรวจสอบหลักฐานการรายงานตัวนักศึกษา
      • [ ] ระบบขอเอกสารทางการศึกษา
      • [ ] พิมพ์ใบชำระค่าเทียบโอน/ยกเว้นผลการเรียน
      • [ ] แจ้งปัญหาการใช้งานสารสนเทศ
      • [ ] เสนอความคิดเห็น
      • [ ] ประวัติการเข้าใช้ระบบ

    รัน API server

    # ใช้ bunx (แนะนำ)
    bunx @cmru-comsci-66/cmru-api serve

    # หรือใช้ npx
    npx @cmru-comsci-66/cmru-api serve

    # กำหนด port และ host
    PORT=8080 HOST=0.0.0.0 bunx @cmru-comsci-66/cmru-api serve

    Server จะทำงานที่ http://localhost:3000 พร้อม REST API endpoints:

    • โปรเจ็กต์นี้เป็นงานอดิเรกส่วนบุคคล ไม่ได้เป็นผลิตภัณฑ์หรือบริการอย่างเป็นทางการของ CMRU หรือองค์กรใดๆ
    • ผู้พัฒนาไม่มีตำแหน่งหน้าที่หรือบทบาทตัวแทนของ CMRU ทุกความคิดเห็นและการตัดสินใจในที่เก็บโค้ดนี้เป็นความรับผิดชอบส่วนตัว
    • โค้ดและข้อมูลถูกจัดทำขึ้นเพื่อการทดลองและการศึกษา ผู้ใช้ควรตรวจสอบความถูกต้องก่อนนำไปใช้จริง
    • ผู้พัฒนาไม่รับประกันความถูกต้อง ความต่อเนื่อง หรือความปลอดภัยของการใช้งาน และไม่รับผิดชอบต่อความเสียหายใดๆ ที่อาจเกิดขึ้น

    ยินดีรับคำแนะนำ ปรับปรุง รายงานบั๊ก และ Pull Request สำหรับการแก้ไขบั๊กหรือเพิ่มฟีเจอร์ โดยทุกข้อเสนอควรระบุชัดเจนว่าเป็นการทดลองหรือเพื่อการเรียนรู้ และต้องไม่ละเมิดข้อตกลงหรือทรัพยากรของ CMRU สามารถแจ้งปัญหาได้ที่ GitHub Issues

    โปรเจ็กต์นี้เผยแพร่ภายใต้เงื่อนไขที่ระบุในไฟล์ LICENSE ผู้ใช้งานควรอ่านรายละเอียดก่อนนำไปใช้ในบริบทอื่น