# Roadmap for the software project Bachelorizer
#
# SPDX-License-Identifier: GPL-3.0-or-later
# SPDX-FileCopyrightText: 2025 Jonas Smedegaard <dr@jones.dk>
#
# @see <https://lib.rs/crates/roadmap>

goal:
  label: Deliver the report
  depends:
  - docs_tasklist
  - docs_model
  - docs_structure
  - docs_program
  - docs_testing

docs_tasklist:
  status: finished
  label: |
    Document
    the task list
  depends:
  - tasklist

tasklist:
  status: finished
  label: |
    Define and structure
    the tasks needed

docs_model:
  status: next
  label: |
    Document
    program model
  depends:
  - model

model:
  status: finished
  label: |
    Make a class diagram
    for the Bachelor programme
    and its components

docs_structure:
  status: ready
  label: |
    Document
    program structure
  depends:
  - structure

structure:
  status: next
  label: |
    Implement classes
    to represent the Bachelor programme and its components
  depends:
  - model

docs_program:
  status: ready
  label: |
    Document
    program
  depends:
  - method_validate
  - testsuite

method_validate:
  label: |
    Implement a method
    to check whether a programme is valid
  depends:
  - structure

testsuite:
  label: |
    Setup routines
    to check unit tests
  depends:
  - test_validate

test_validate:
  label: |
    Specify and run
    unit tests for the valid method
  depends:
  - method_validate

docs_testing:
  status: blocked
  label: |
    Document results
    of checking unit test
    [maybe postpone for next delivery]
  depends:
  - structure
  - test_validate