PHPackages                             mirandaleyva/contao-course-management-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mirandaleyva/contao-course-management-bundle

ActiveContao-bundle[Utility &amp; Helpers](/categories/utility)

mirandaleyva/contao-course-management-bundle
============================================

Contao 5.7 bundle for managing courses and course dates.

v1.0(1mo ago)013MITPHPPHP ^8.4

Since Apr 16Pushed 1mo agoCompare

[ Source](https://github.com/mirandaleyva/contao-course-management-bundle)[ Packagist](https://packagist.org/packages/mirandaleyva/contao-course-management-bundle)[ RSS](/packages/mirandaleyva-contao-course-management-bundle/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (2)Versions (17)Used By (0)

Contao Course Management Bundle
===============================

[](#contao-course-management-bundle)

```
╭──────────────────────────────────────────────────────────────╮
│                                                              │
│   CONTΛO COURSE MANAGEMENT BUNDLE                            │
│   ───────────────────────────────                            │
│   Manage courses. Plan dates. Enable registrations.          │
│                                                              │
╰──────────────────────────────────────────────────────────────╯

```

A Contao bundle for managing courses, course dates, and date-specific registrations.

The bundle is designed for websites that offer courses or events with multiple sessions, for example:

- Prenatal classes
- Yoga or fitness courses
- Workshops
- Therapy, health, or training programs
- Courses with multiple dates, locations, or limited availability

---

What does the bundle do?
------------------------

[](#what-does-the-bundle-do)

The bundle extends Contao with a dedicated backend module **Courses**.

In the backend, courses can be created and managed. Each course can have multiple course dates. In the frontend, visitors can first view a course overview, then open the detail view of a course, and finally register for a specific course date.

The focus is on a clear separation between:

```
Course list  →  Course details  →  Registration

```

This ensures a clean user flow and guarantees that each registration is tied to a specific date.

---

Main Features
-------------

[](#main-features)

### Backend

[](#backend)

- dedicated backend module **Courses**
- manage courses
- manage multiple course dates per course
- parent-child structure between course and course dates
- structured input fields for course data
- structured input fields for date and location data
- publish/unpublish courses and dates
- mark dates as fully booked
- assign an existing Contao form to a course

### Frontend

[](#frontend)

The bundle provides three frontend modules:

ModulePurpose`course_list`displays a course overview`course_reader`displays the course detail view`course_registration`displays the registration for a selected course date---

Requirements
------------

[](#requirements)

ComponentVersionPHP`^8.4`Contao`^5.7`Composerrequired---

Installation
------------

[](#installation)

```
composer require mirandaleyva/contao-course-management-bundle
```

```
php vendor/bin/contao-console contao:migrate --no-interaction
php vendor/bin/contao-console cache:clear --env=prod
```

---

License
-------

[](#license)

MIT

---

Author
------

[](#author)

Miranda Leyva

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance90

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

16

Last Release

46d ago

Major Versions

v0.14 → v1.02026-04-24

### Community

Maintainers

![](https://www.gravatar.com/avatar/6dbc7cba222357ee0b198ffd93b969e5bc0ea36b50c222934f7989682020f62e?d=identicon)[mirandaleyva](/maintainers/mirandaleyva)

---

Top Contributors

[![mirandaleyva](https://avatars.githubusercontent.com/u/99657439?v=4)](https://github.com/mirandaleyva "mirandaleyva (68 commits)")

### Embed Badge

![Health badge](/badges/mirandaleyva-contao-course-management-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/mirandaleyva-contao-course-management-bundle/health.svg)](https://phpackages.com/packages/mirandaleyva-contao-course-management-bundle)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

46668.4k162](/packages/codefog-contao-haste)[contao/manager-bundle

Provides the Contao Managed Edition

181.3M67](/packages/contao-manager-bundle)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3187.0k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3175.6k5](/packages/terminal42-contao-node)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18153.4k10](/packages/terminal42-contao-folderpage)[terminal42/contao-url-rewrite

URL Rewrite bundle for Contao Open Source CMS

15100.0k3](/packages/terminal42-contao-url-rewrite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
