Skip to content

Mekhyun/ku_request

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS211 Project ภาคต้น 2567

ชื่อทีม maggy-kayee-hua-jai

สมาชิกในทีม

รหัสนิสิต ชื่อ-นามสกุล (ชื่อเล่น) GitHub username
6610405981 นายพิชาภพ ปอพานิชกรณ์ (แสตมป์) MauriceZ48
6610405891 นภทีป์ เพชรยาบาล (เมฆ) Mekhyun
6610406065 ศุภวิชญ์ กระชิมรัมย์ (ฮาร์ท) Heart-eiei
6610406049 ศุภณัฐ ราชพัฒน์ (นนท์) MoreOften

คลิปความก้าวหน้าของระบบ

ครั้งที่ กำหนดส่ง Youtube Link
ความก้าวหน้าของระบบครั้งที่ 1 9 ส.ค. 2567 17:00 น. https://www.youtube.com/watch?v=_Uc93Xeg9lQ
ความก้าวหน้าของระบบครั้งที่ 2 6 ก.ย. 2567 17:00 น. https://youtu.be/yRbDYGHvrqo
ความก้าวหน้าของระบบครั้งที่ 3 27 ก.ย. 2567 17:00 น. https://www.youtube.com/watch?v=QdPV5Uwpp48
โครงงานที่สมบูรณ์ 18 ต.ค. 2567 17:00 น. https://www.youtube.com/watch?v=3VXwBF-Ih7U

สรุปสิ่งที่พัฒนาในแต่ละครั้ง

ความก้าวหน้าของระบบครั้งที่ 1

  1. นายพิชาภพ ปอพานิชกรณ์ (แสตมป์)
    • ออกแบบใน figma ส่วนของ อาจารย์ที่ปรึกษา และเจ้าหน้าที่คณะ ให้มีระบบการจัดการคำร้องแบบเบื่องต้น อีกทั้งยังสร้างหน้าต่างๆ
    • สร้าง .fxml ตามที่ได้ออกแบบไว้โดยที่แต่ละหน้าได้สร้างปุ่มที่สามารถเชื่อมถึงกันได้
  2. นภทีป์ เพชรยาบาล (เมฆ)
    • ออกแบบระบบใน figma ในส่วนของ login, setting และ admin
    • สร้าง fxml ในส่วนของ login, setting, และ admin
    • สร้าง controller ในส่วนของ login, setting และ admin
    • ทำให้แต่ละหน้าในส่วนต่างๆ มีปุ่มที่สามารถเชื่อมถึงกันได้
  3. ศุภวิชญ์ กระชิมรัมย์ (ฮาร์ท)
    • ทำ fxml ของแถบหน้าต่าง
    • ทำ fxml และ figma ของส่วนเจ้าหน้าที่ภาควิชา พร้อม Controller เพื่อเชื่อมหน้าและปุ่มของส่วนเจ้าหน้าที่ภาควิชา
  4. ศุภณัฐ ราชพัฒน์ (นนท์)
    • ออกแบบระบบของนิสิตใน figma เช่น หน้าแรก หน้าการสร้างใบคำร้อง หน้าที่สามารถดูรายการคำร้องที่นิสิต user นั้นๆได้ทำเรื่องไว้
    • ทำ fxml ของหน้าแรก หน้าสร้างใบคำร้อง และหน้ารายการคำร้อง ให้มีการเชื่อมถึงกัน
    • สร้าง controller ไว้สำหรับทำงานร่วมกับ fxml ของหน้านิสิตต่างๆ

ความก้าวหน้าของระบบครั้งที่ 2

  1. นายพิชาภพ ปอพานิชกรณ์ (แสตมป์)
    • ทำ model classes ที่เกี่ยวกับเจ้าหน้าที่คณะ เช่น FacultyStaff, FacultyApprover และได้ทำ class ที่เป็น list ของแต่ละตัว
    • แก้ไข controllers ให้สามารถใส่ข้อมูลลงไปบน TableView ที่เกี่ยวข้องกับตัวเจ้าหน้าที่คณะได้
    • สามารถทำการส่งข้อมูลข้ามหน้าได้
  2. นภทีป์ เพชรยาบาล (เมฆ)
    • ทำ model classes ที่เกี่ยวกับ User Admin และ Professor และทำ class ที่เป็น list ของแต่ละอัน
    • ทำให้แต่ละบทบาทสามารถ login ไปหน้าที่ต่างกันตามบทบาทที่เป็นได้
    • ทำให้ Admin สามารถเพิ่มอาจารย์แล้วเขียนลงไฟล์ได้
  3. ศุภวิชญ์ กระชิมรัมย์ (ฮาร์ท)
    • ทำ model classes ที่เกี่ยวกับเจ้าหน้าที่คณะ เช่น DepartmentPetitionApprover, DepartmentStudent และได้ทำ class ที่เป็น list ของแต่ละตัว
    • แก้ไข Controllers ทำ TableView แสดงข้อมูลต่างๆ
    • ทำให้ Fx.Router ส่งข้อมูลข้ามหน้าได้
  4. ศุภณัฐ ราชพัฒน์ (นนท์)
    • ทำ views ของ นิสิตทั้งหมดให้สามารถเชื่อมถึงกันได้
    • ทำ model classes ที่เกี่ยวข้องกับนิสิต เช่น Student, Request และ class ที่เป็น list ของแต่ละตัว
    • แก้ไข controller ให้สามารถแสดงค่าต่างๆ ในหน้า student-main-page.fxml
    • จัดการหน้าแสดงรายการคำร้องให้สามารถแสดงค่าต่างๆ ออกมาบน TableView ได้

ความก้าวหน้าของระบบครั้งที่ 3

  1. นายพิชาภพ ปอพานิชกรณ์ (แสตมป์)
    • ออกแบบ interface ไว้ filter ข้อมูลที่แสดงบน tableView
    • ทำ file.csv ที่เกี่ยวกับ faculty staff
    • ทำให้สามารถอ่านเขียน file ได้
  2. นภทีป์ เพชรยาบาล (เมฆ)
    • ทำให้ user สามารถเปลี่ยนรูป profile ได้โดยจะเก็บไฟล์ที่ user upload มาไว้ใน folder images
    • ทำให้เก็บ password แบบ hashed แล้วสามารถ login ได้ปกติ
    • ทำให้ Admin สามารถ เพิ่ม/แก้ไข คณะ,ภาควิชา,เจ้าหน้าที่,อาจารย์ ได้
    • ทำให้ Admin สามารถดูรายชื่อ user ในระบบ เรียงตามเวลา user ที่เข้าระบบล่าสุด
  3. ศุภวิชญ์ กระชิมรัมย์ (ฮาร์ท)
    • เตรียม .csv ของ departmentApprover
    • ทำให้สามารถอ่านเขียนไฟล์ csv และ filter ข้อมูลเฉพาะตามภาควิชาของเจ้าหน้าที่ภาควิชาได้
  4. ศุภณัฐ ราชพัฒน์ (นนท์)
    • จัดการเตรียมไฟล์ .csv ของ student และ request
    • ทำให้สามารถอ่าน/เขียนไฟล์ .csv ดังกล่าวได้
    • จัดการ controller บางส่วนให้สามารถสร้างคำร้องได้

โครงงานที่สมบูรณ์

  1. นายพิชาภพ ปอพานิชกรณ์ (แสตมป์)
    • ทำตัว sorter ให้ใช้กลับคลาสอื่นๆได้
    • ทำตัวแสดง pdf
    • ทำตัว faculyStaff และ professor จนเสร็จและสามามารถแนบไฟล์ได้
  2. นภทีป์ เพชรยาบาล (เมฆ)
    • นำ css มาตกแต่งให้สวยงาม
    • ทำให้ระบบของ admin สำเร็จ
    • แสดงรูปในรายชื่อผู้ใช้ระบบได้ ค้นหาได้จากชื่อผู้ใช้ในรายชื่อผู้ใช้ระบบได้
  3. ศุภวิชญ์ กระชิมรัมย์ (ฮาร์ท)
    • ทำให้คำร้องสามารถโหลด pdf ได้
    • ค้นหาข้อมูลของนิสิตได้
    • ทำให้คำร้องเรียงตามวันเวลา
  4. ศุภณัฐ ราชพัฒน์ (นนท์)
    • ปรับปรุง student view ให้ทำงานได้ทั้งหมด และสามารถหยุดไม่ให้นิสิตที่ไม่มีอาจารย์ที่ปรึกษาสร้างคำร้องได้
    • จัดการรายการคำร้องให้รับข้อมูลเรียงลำดับโดยวันเวลาที่มีการแก้ไขสถานะล่าสุด และสามารถเลือกวิธีการจัดเรียง หรือเลือกตามสถานะได้
    • สามารถกดอ่านข้อมูลคำร้องผ่านทางหน้ารายการคำร้องได้

วิธีการติดตั้งและรันโปรแกรม

  • ถ้ายังไม่มี Java สามารถโหลดได้จาก https://www.java.com/en/ หรือ JavaFX จาก https://openjfx.io/
  • ที่อยู่ไฟล์ pdf - release/data/files/manual.pdf
  • การเรียกใช้ไฟล์ .jar บน Windows สามารถกดเปิดที่ไฟล์ JAR ได้โดยตรง
  • การเรียกใช้ไฟล์ .jar บน MacOS ต้องใช้คำสั่ง java -jar cs211-671-project-1.0-shaded.jar

ตัวอย่างข้อมูลผู้ใช้ระบบ (username, password)

  • ผู้ดูแลระบบ Username: mek Password: mek
  • เจ้าหน้าที่คณะ1 Username: Faculty_Staff01 Password: facultyStaff01
  • เจ้าหน้าที่คณะ2 Username: Faculty_Staff02 Password: facultyStaff02
  • เจ้าหน้าที่ภาควิชา1 Username: Department_staff01 Password: departmentStaff01
  • เจ้าหน้าที่ภาควิชา2 Username: Department_staff02 Password: departmentStaff02
  • อาจารย์ที่ปรึกษา1 Username: Professor01 Password: professor01
  • อาจารย์ที่ปรึกษา2 Username: Professor02 Password: professor02
  • นิสิต1 Username: Student01Password: student01

การวางโครงสร้างไฟล์ของโครงงาน

  • src/main/java เก็บไฟล์โค้ดหลักของแอปพลิเคชัน เช่น Main.java, classes ต่างๆ รวมถึง controllers, models
  • controllers/ — เก็บ controller classes ที่ทำหน้าที่ควบคุมการทำงานของ UI
  • models/ — เก็บ model classes เช่น User, UserList
  • src/main/resources
  • เก็บ resources ที่ใช้ในแอป เช่น ไฟล์ FXML, ไฟล์ CSS, รูปภาพที่ใช้ภายในโปรเจกต์
  • fxml/ — เก็บไฟล์ FXML ที่กำหนดโครงสร้าง UI
  • css/ — เก็บไฟล์ CSS ที่ใช้ตกแต่งแอป
  • data/ เก็บไฟล์ข้อมูล เช่น รูปภาพของผู้ใช้ (data/images) และไฟล์ CSV ที่ใช้เก็บข้อมูลต่างๆ
  • images/ — เก็บรูปภาพที่ผู้ใช้ upload
  • csv/ — เก็บไฟล์ CSV ที่ใช้ในการอ่าน/เขียนข้อม�
  • pdf/ - เก็บไฟล์ pdf สำหรับคำร้อง
  • files/ - เก็บไฟล์ manual และ UML

About

A desktop-based university request management system for handling student requests

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages