Skip to content

Conversation

@gbougakov
Copy link
Owner

Fixes #5

Adds support for the Bachelor of Business Engineering programme from KU Leuven.

Changes

  • Added 109 courses from Bachelor of Business Engineering
  • Created new programme file src/programmes/business_engineering.ts
  • Integrated the new programme into src/index.ts
  • Combined subjects from both BBA and Business Engineering programmes

Generated with Claude Code

- Added 109 courses from Bachelor of Business Engineering
- Integrated business_engineering.ts into index.ts
- Combined subjects from both BBA and Business Engineering programmes

Fixes #5

Co-authored-by: George Bougakov <gbougakov@users.noreply.github.com>
@cloudflare-workers-and-pages
Copy link

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
kul-ics f67ab74 Sep 17 2025, 09:00 PM

@gbougakov gbougakov merged commit aa7d7d4 into main Sep 17, 2025
2 checks passed
@claude
Copy link

claude bot commented Sep 17, 2025

Code Review 🔍

Thank you for adding support for the Bachelor of Business Engineering programme! I've reviewed the changes and have the following feedback:

✅ What Works Well

  • Consistent Structure: The new programme file follows the exact same structure as the existing bba.ts file
  • Clean Integration: Simple and effective integration into src/index.ts by combining subjects from both programmes
  • Comprehensive Coverage: 109 courses added with proper ECTS codes, subject names, and teacher data

⚠️ Issues to Address

1. Duplicate Courses (High Priority)

I've identified several courses that appear in both bba.ts and business_engineering.ts with identical ECTS codes:

  • D0E54A - Short Mobility Economics and Business (Bachelor)
  • D0E59A - Internship Bachelor
  • D0E60A - Internship Bachelor
  • D0S32A - Short Mobility Economics and Business (Bachelor)
  • HBA01H - International Business
  • HBA02H - European Institutions
  • And likely more shared courses...

Impact: When these ECTS codes appear in calendar events, the .find() method will always return the first match (from BBA), potentially showing incorrect teacher information if they differ between programmes.

Recommended Fix:

  • Remove duplicates from business_engineering.ts if they're truly shared courses
  • OR if teacher lists differ, merge the teacher arrays for shared courses
  • Consider creating a shared_courses.ts file for courses common to multiple programmes

2. Teacher Order Inconsistency (Minor)

In D0E54A, teacher order differs between files:

  • BBA: ['J.Van Biesebroeck', 'S.Steijleman', 'V.Geers']
  • Business Engineering: ['J.Van Biesebroeck', 'V.Geers', 'S.Steijleman']

While this doesn't affect functionality, consistency would be better.

💡 Suggestions for Improvement

  1. Deduplication Strategy: Consider implementing a deduplication mechanism:

    const allSubjects = [...bbaSubjects, ...businessEngineeringSubjects];
    const uniqueSubjects = allSubjects.filter((subject, index, self) =>
      index === self.findIndex((s) => s.ectsCode === subject.ectsCode)
    );
  2. Future Scalability: As more programmes are added, consider:

    • Creating a programme registry/index file
    • Implementing a more dynamic programme loading system
    • Adding programme-specific prefixes or metadata to handle overlapping courses
  3. Data Validation: Consider adding a simple validation script to check for:

    • Duplicate ECTS codes within and across programme files
    • Missing required fields
    • Consistent formatting

✅ Security & Performance

  • No security concerns identified
  • Performance impact is minimal - the combined array is still small enough for efficient .find() operations
  • No sensitive data exposure

📝 Test Coverage

Consider adding tests to verify:

  • Correct course lookup for both programmes
  • Proper handling of duplicate ECTS codes
  • Edge cases (missing teachers, empty arrays)

Overall: Good implementation that successfully adds the new programme! The duplicate course issue should be resolved before merging to ensure accurate data display. The code quality is consistent with the existing codebase.

🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add programme: Bachelor of Business Engineering

2 participants