Reorganize Mudlet's Code Layout

Registered by Ahmed Charles

The goal of this blueprint is to reorganize the code base to make it easier to work with and more modular, as well as add unit tests and perhaps integration and UI tests using Qt's test framework.

Based on experience like LLVM's with writing libraries which are then used to create programs with minimal amounts of glue code, it seems beneficial to move Mudlet in that direction slowly over time. The final result should be similar to this at a high level:

1. Core library used for low level, non-gui tasks, like networking, telnet, profile data with reading/writing support. Ideally this would have the smallest set of dependencies and be fully unit tested.
2. UI layer with the following subsections:
a) Qt Model classes which allows access to the data in the core library, along with unit tests.
b) Custom Qt View classes that allow us to represent the data which is modeled in different ways, along with unit tests.
c) 'Glue' code to use the models and views above to make Mudlet come to life, along with ui integration tests.

Blueprint information

Status:
Not started
Approver:
Mudlet Makers
Priority:
Medium
Drafter:
Ahmed Charles
Direction:
Needs approval
Assignee:
Ahmed Charles
Definition:
New
Series goal:
Accepted for trunk
Implementation:
Not started
Milestone target:
milestone icon trunk

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.