MVC Design Pattern

Model1.png

module-planner/
│
├── src/
│   │
│   ├── main/
│   │   │
│   │   ├── java/
│   │   │   │
│   │   │   ├── com/
│   │   │   │   │
│   │   │   │   ├── moduleplanner/
│   │   │   │   │   │
│   │   │   │   │   ├── controllers/             # Controllers
│   │   │   │   │   │   ├── ModulePlannerController.java
│   │   │   │   │   │
│   │   │   │   │   ├── models/                  # Model (business logic)
│   │   │   │   │   │   ├── Course.java
│   │   │   │   │   │   ├── Student.java
│   │   │   │   │   │   ├── ScheduleGenerator.java
│   │   │   │   │   │
│   │   │   │   │   ├── views/                   # Views (console output)
│   │   │   │   │   │   ├── CommandLineView.java
│   │   │   │   │   │
│   │   │   │   │   ├── Main.java                # Entry point
│   │   │   │
│   ├── resources/
│   │   │
│   │   ├── application.properties               # Configuration

Main.java

package com.moduleplanner;

import com.moduleplanner.controllers.ModulePlannerController;

public class Main {
    public static void main(String[] args) {
        ModulePlannerController controller = new ModulePlannerController();
        controller.start();
    }
}