Sprint 1 Retrospective Meeting Minutes - JUCSE49-Mavericks/Smart-Class-Routine-Management-System GitHub Wiki


🗓 Date, Time, and Platform

02-Novermber-2024 | 10:30 PM - 11:15 PM | Google Meet


📝 Meeting Chair & Note Taker

Akila Nipo (AN)


🔄Attendees

Sadia Hossain(SH) Umma Sumaiya Jahan(UJ) Tajrimin Mitu(TM) Trisha Sarkar(TS) Rubayed All Islam(RAI)


📝 Sprint 1 Evaluation Questions

  • What went well?
  • What went wrong?
  • How can we improve?
  • What have we learnt?

📊 Evaluation and Analysis

WHAT WENT WELL WHAT WENT WRONG HOW TO IMPROVE


Upload Files:

✅Successfully stored information.

Successfully created tables in the database for users and others (e.g., syllabus).

✅Granted valid XML and CSV format files: CSV for user files and XML for syllabus info.


⚠️Problems faced during unit testing.

⚠️Some test cases failed.


🔄Will recheck and correct the issue with unit testing.

🔄Will generate separate test cases for unit testing.






Assign Course Teacher:

✅Assigned course teacher by clicking on the update button for each course in an Exam Year.

✅Also assigned course teacher by uploading a CSV file.


⚠️Problem faced while updating Exam Committee Members for each exam year.


🔄May be a mapping problem.

🔄Further improvements may solve the issue.






Generate Routine:

✅Dynamic slot creation with lunch breaks.

✅Successful retrieval, mapping & manipulation of data from the database, such as assigned courses, preferred days/times of teachers, room categories, and room requirements.

✅Lunch break conflict avoidance ensured slots were allocated without overlap.

✅Slots were reserved based on course type (lab sessions received double slots).

✅Room-specific course distribution and course distribution according to weekly counts were efficient.


⚠️Routine start delayed by one slot; scheduling began one slot later than the user-defined time.

⚠️Underutilization of slots and rooms to avoid conflicts left some slots and rooms unused.

⚠️Failed JSON parsing for complex test cases with arrays of objects.


🔄Start routine exactly at the user-specified time by adjusting logic.

🔄Refine slot and room utilization approach for better efficiency while avoiding conflicts.

🔄Enhance JSON parsing to handle arrays of objects, ensuring all test cases load correctly.

🔄Implement real-time conflict checks to detect and resolve scheduling conflicts.






View Class Routine:

✅Viewing Class Routine on clicking the search button worked smoothly.


⚠️Issue encountered while fetching Class Routine data from the database.


🔄Further recheck and improvements may solve the problem.






View Personalized Dashboard:

✅Dashboard created for all users (Teacher, Student, Staff, SuperUser).


⚠️Doesn't automatically log out after some inactive days (e.g., 10 days).


🔄Further checks and improvements may resolve the problem.






View Class Representative Information:

✅Viewed CR’s details, such as name and contact info (email, phone number) by clicking on the CR’s Dashboard.


⚠️Issues with fetching or updating Class Representative data from the database.


🔄Further rechecks and improvements resolved the issue.







📚 What Have We Learnt?

In Sprint 1, we gained valuable insights and practical skills that enhanced our project management and collaboration. Here are the key takeaways:

  1. Effective Use of Project Management Tools:

    • Utilized Trello for task organization, improving workflow management.
    • Employed Discord for real-time communication, aiding discussions and quick decision-making.
    • GitHub was crucial for version control and collaborative coding.
    • Used Jira to document and track issues, enhancing task prioritization.
  2. Time Management:

    • Implemented Toggl for tracking time spent on activities, improving productivity insights.
  3. Documentation:

    • Adopted JSDoc for code documentation, enhancing clarity and accessibility for current and future contributors.
  4. Unit Testing:

    • Used Mocha for unit testing, ensuring code quality and early identification of issues.
  5. Meeting Management:

    • Conducted regular meetings for alignment on project goals, fostering better communication.
  6. Team Coordination:

    • Improved overall team coordination by clearly defining roles and responsibilities, enhancing efficiency.

TIME TRACKING

---
⚠️ **GitHub.com Fallback** ⚠️