This project is an assignment I completed during the "Domain engineering technologies" course.
It allows teachers and students to build their study space using a drag-and-drop editor.
- User can drag-and-drop blocks onto the study space dashboard. The following blocks are available:
- Course
- Module
- Material
- Assignment
- Timestamp
- Each block consists of a title and/or content.
- Blocks have hierarchical rules built into them:
- Courses are top-level items contained within the study space.
- Modules and Materials can be placed inside Courses.
- Assignments and Materials can be placed inside Modules.
- Timestamps can be inserted anywhere and nothing can be inserted into them.
- Project name and Block content/name can be edited using popup dialogs.
- The study space can be saved to, and loaded from a JSON file.
- The study space view can be switched to a read-only mode which disables and hides drag-and-drop areas.
Data model can be found in project_model.dart.
![]() |
![]() |
|---|---|
| User Interface - Project dashboard | Edited project in Read-only mode |

