-
Notifications
You must be signed in to change notification settings - Fork 0
Sprints
Date: 28/07/2025
Sprint Duration: 15/07/2025 – 03/08/2025
Attendees: Navheen, Krittapas
Establish the foundation for the course-to-AI assistant application by setting up core frameworks, defining the data handling strategy, and initiating UI planning and development.
- Framework Setup Complete: Successfully set up and integrated React (frontend), FastAPI (backend), and Render (deployment).
- Clear Data Strategy: Agreed on converting course descriptions into standardized JSON format for use with LLMs.
- UI Planning & Development Started: Krittapas began implementing the frontend based on initial wireframes.
- Effective Task Division: Tasks were clearly split — Navheen focused on backend setup and data structure, while Krittapas focused on UI.
- Prototype Delivered: A working version of the prototype was completed and ready for client presentation.
- Positive Client Feedback: The client appreciated the clean UI design and overall direction of the project.
- Time Buffer for Unexpected Issues: A minor delay occurred during the setup phase. Adding buffer time in future sprints may help avoid impact on other tasks.
- Documentation of Setup Steps: Some configurations took extra time due to lack of documentation. This can be improved in the next sprint.
- Start Backend and Frontend Tasks in Parallel using mock data to reduce idle time.
- Document Environment Setup Clearly to ease onboarding and reduce confusion.
- Begin API Integration Earlier to allow more time for handling edge cases.
| Deliverable | Status |
|---|---|
| React, FastAPI, and Render configured | ✅ Completed |
| Course data structuring strategy defined | ✅ Completed |
| Initial frontend UI implemented | ✅ Completed |
| Functional prototype delivered | ✅ Completed |
| Client presentation and feedback session | ✅ Completed |
Date: 11/08/2025
Sprint Duration: 04/08/2025 – 17/08/2025
Attendees: Navheen, Krittapas
Enhance the application by implementing sentence transformation features, refining backend data handling, improving frontend UI/UX, and deploying the system on Render for hosting.
- Backend Progress: Navheen successfully worked on sentence transforming and data updates, improving backend structure for future scalability.
- Frontend Enhancements: Krittapas delivered noticeable UI improvements, making navigation and layout more consistent and polished.
- Hosting Research Completed: Render was researched as a deployment option, providing clarity on pricing, setup, and suitability.
- Task Continuity: Clear handoff of responsibilities each week ensured no blockers between backend and frontend tasks.
- Deployment Initiated: Navheen began deployment of the system on Render, moving the project closer to live testing.
- Timeline Management: Some tasks stretched across multiple meetings (sentence transforming, hosting research) — setting smaller milestones could help.
- Vector Visualization Planning: The color-coded vector logic was only defined late in the sprint, leaving limited time for implementation.
- Testing Coverage: Limited focus on testing backend and frontend features before deployment.
- Break Large Tasks into Milestones (e.g., backend updates → API endpoint updates → integration testing).
- Introduce Testing Early to validate both backend and frontend changes before deployment.
- Finalize Visualization Designs Earlier so implementation doesn’t bottleneck near the sprint end.
| Deliverable | Status |
|---|---|
| Backend sentence transforming implemented | ✅ Completed |
| Backend data updates for integration | ✅ Completed |
| Frontend UI/UX improvements | ✅ Completed |
| Render hosting research | ✅ Completed |
| Initial deployment to Render | ✅ Completed |
| Color-coded sentence transformer vector logic | ✅ Defined (Implementation In Progress) |
Date: 01/09/2025
Sprint Duration: 18/08/2025 – 31/08/2025
Attendees: Navheen, Krittapas
Deliver deployment-ready functionality by completing live service deployment, improving the UI, and implementing search enhancements including multi-query support and color coding.
- Deployment Completed: The application was successfully deployed to Render, making the service accessible for live testing.
- UI Enhancements: Feedback from David was applied, improving usability and clarity.
- Multi-Query Search Implemented: Users can now search multiple course descriptions in one query, with results grouped for better readability.
- Color Coding Added: Search results now include visual cues with color-coded sentence transformer vectors for improved clarity.
- Strong Collaboration: Clear division of tasks allowed Navheen to focus on deployment and UI while Krittapas worked on formatting and search improvements.
- Board Management: GitHub Projects board was effectively used to track tasks across Todo, In Progress, In Review, and Done.
- UI Consistency: Some of the color-coded indicators still rely on emoji; moving to styled UI elements will provide a more professional look.
- Review Bottleneck: Multi-query search is still in review, so earlier testing and PR reviews could help avoid delays.
- Homepage & Navigation: The current homepage is minimal; a more engaging landing page will be needed in the next sprint.
- Introduce Styled Components or Tailwind Enhancements for clearer UI consistency (replacing emojis with styled indicators).
- Increase Frequency of Code Reviews to reduce backlog in the "In Review" stage.
- Add a New Homepage that introduces the app’s features more clearly to first-time users.
| Deliverable | Status |
|---|---|
| Research deployment using Render | ✅ Completed |
| Deploy application to Render | ✅ Completed |
| Implement color-coded sentence transformer | ✅ Completed |
| Implement color-coded logic | ✅ Completed |
| Multi-query search implementation | ✅ Completed |
Date: 15/09/2025
Sprint Duration: 01/09/2025 – 14/09/2025
Attendees: Navheen, Krittapas
Refine the user experience and visual design of the Course Matcher application, improve homepage usability, and ensure 24/7 availability by investigating Render upgrade options.
-
Permanent Hosting Investigation:
Render pricing and upgrade tiers were successfully reviewed. The team identified cost-effective options to remove the 15-minute idle restart limitation, ensuring continuous uptime for the deployed site. -
Homepage Redesign:
A new dedicated landing page was implemented, replacing the previous BIT courses page.
The redesign includes a hero section with the app logo and title aligned on one line, improved spacing, and central positioning relative to the search box for stronger visual hierarchy. -
Search Bar Enhancements:
The search input area was enlarged to better accommodate long or multi-paragraph queries.- Added blue focus ring for active state (instead of gray).
- Increased font size and padding for readability.
- Rounded corners and shadow for emphasis.
- Verified Shift + Enter for new lines and fixed spacing issue with the spacebar.
-
Instruction Bar Added:
Introduced a fixed “How It Works” bar at the bottom with clear three-step guidance:- Paste descriptions
- We compare against database
- See results instantly
-
Similarity UI Modernization:
Replaced old emoji indicators (🟢🟠🔴) with color-coded badges and a progress bar showing similarity percentage.- Introduced new
SimilarityBadgeandSimilarityBarcomponents. - Centered badges below course titles for consistent alignment.
- Enhanced readability and professional appearance.
- Introduced new
-
Layout and UX Fixes:
- Added extra padding to prevent overlap between content and footer.
- Restricted search box height and enabled scrolling (
overflow-auto) to keep the search button visible. - Adjusted title positioning upward per David’s design feedback for better balance.
- Tested responsive scaling across multiple screen sizes and browsers.
-
Setup Script Improvements:
- The
setup.batscript now creates.envfiles in both backend and frontend directories. - Removed early exit behavior so that frontend installation continues even if backend dependencies fail.
- The
-
Grouped Headers Styling:
Headers for grouped search results are functional but lack strong visual differentiation. Icons or spacing refinements could improve readability. -
Homepage Visual Variety:
While functional, the homepage could use subtle animations or dynamic highlights to make it more engaging. -
Testing Coverage:
Most UI features were manually verified, but automated testing (e.g., Jest or Playwright) should be added to ensure future consistency.
- Add section icons and context highlights under grouped search results to help users understand why a match appears.
- Integrate automated UI testing to streamline regression checks.
- Implement persistent uptime solution based on chosen Render upgrade plan.
- Enhance homepage engagement with subtle transitions or a short “About” section describing the app’s purpose.
| Deliverable | Status |
|---|---|
| Investigate Render pricing and uptime options | ✅ Completed |
| Create dedicated homepage with usage instructions | ✅ Completed |
| Redesign search bar with better input handling and layout | ✅ Completed |
| Replace emoji indicators with badges and progress bars | ✅ Completed |
| Fix search bar overflow and alignment issues | ✅ Completed |
| Improve setup.bat to handle both backend and frontend setup | ✅ Completed |
Date: 19/10/2025
Sprint Duration: 06/10/2025 – 19/10/2025
Attendees: Navheen, Krittapas
Improve developer onboarding, documentation, and maintainability.
Refactor the backend for structured outputs, enhance input parsing logic, and verify full end-to-end stability across frontend and backend.
-
README & Wiki Improvements:
Updated the mainREADME.mdto include step-by-step setup, installation, and execution instructions for both frontend and backend, making it easier for new developers to start the project.
Expanded the GitHub Wiki with pages describing:- Project architecture and folder layout
- Technology stack and design rationale
- Key files and how they interact across the system
-
Code Documentation Enhancements:
Added inline comments and detailed docstrings throughout key backend and frontend files.
Improved code clarity and maintainability, helping future contributors understand important logic flows. -
Learning Resources Collection:
Compiled and updated a dedicated section in the Wiki with useful tutorials, documentation links, and learning materials for the project’s main technologies (FastAPI, React, Vite, Tailwind, Sentence Transformers, etc.).
This ensures new contributors can get up to speed quickly. -
Backend Refactor – Structured JSON Outputs:
Refactored the backend’scourse_parser.pyto return structured and normalized data for each course description.
The new approach makes debugging, display, and validation significantly easier.- Improved text parsing and normalization of course titles.
- Enhanced multi-course detection and response organization.
- Added graceful handling for missing embeddings and decoding errors.
-
New Backend Models (
app/models.py):
Introduced Pydantic models:-
CourseandCoursesEnvelope - Schema definitions for all course fields
- Validator to auto-compute
total_learning_hoursif missing or zero
These models lay the groundwork for future AI-powered structured outputs and response validation.
-
-
Search Logic and Display Fixes:
- Replaced newline-based detection with double-quote (" ") detection to accurately separate multiple course descriptions in user input.
- Updated logic so that user-provided course titles appear correctly in search results.
- When no title is given, the system automatically displays the highest-matched course title.
- Ensured smooth frontend integration with accurate per-query grouping.
-
Frontend Integration Updates:
- Updated
CourseList.tsxto render results for multiple inputs correctly. - Retained similarity badges and progress bars with responsive grid layouts.
- Displayed “Matches for: …” using the actual user query rather than top results.
- Improved iteration logic to group search results clearly per query.
- Updated
-
Testing & Verification:
- ✅ Verified that
/courses/and/searchendpoints return the expected structured keys and values. - ✅ Tested multiple course inputs and empty query edge cases.
- ✅ Verified validators function correctly when data is missing or incomplete.
- ✅ Confirmed frontend displays grouped results accurately.
- ✅ Conducted full end-to-end tests — all components passed (frontend → backend → database → Render deployment).
- ✅ Verified that
-
Automated Testing:
Most tests were manual; adding Jest (frontend) and pytest (backend) automated test suites will improve long-term stability. -
Documentation Sync:
Some internal folder references in the Wiki need syncing after the backend refactor. -
Performance Optimization:
Multi-course similarity search can be slow for large input sets. Future optimization of vector comparisons and caching will help scalability.
- Introduce automated testing (Jest + Pytest) for CI validation.
- Add syntax-highlighted code samples to Wiki documentation.
- Implement caching or batching in Sentence Transformer embedding generation.
- Begin preparing AI-assisted course field extraction workflows using new Pydantic models.
| Deliverable | Status |
|---|---|
| Update main README with setup and run instructions | ✅ Completed |
| Expand GitHub Wiki with architecture and learning resources | ✅ Completed |
| Add inline comments and docstrings across backend/frontend | ✅ Completed |
| Refactor backend JSON parsing for structured outputs | ✅ Completed |
Add new Pydantic models (Course, CoursesEnvelope) |
✅ Completed |
| Improve search input parsing and display logic (double-quote detection) | ✅ Completed |
| Conduct full end-to-end testing and verification | ✅ Completed |