Skip to content

Commit cef2bd2

Browse files
authored
Merge pull request #420 from Ubayed-Bin-Sufian/functional-requirements
functional requirements
2 parents 551e939 + 5bed922 commit cef2bd2

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

docs/functional-requirements.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Functional Requirements Documentation
2+
3+
## Introduction
4+
5+
This document outlines the **functional requirements** of the web application, detailing the core features and capabilities necessary for its development. Each requirement is carefully structured to enhance usability, flexibility, and efficiency.
6+
7+
Additionally, these functional requirements have been **grouped into clusters** based on their intent and purpose. This categorization helps in understanding the relationships between different features, making it easier to plan development, prioritize tasks, and optimize the overall user experience.
8+
9+
The following sections provide a **detailed list of functional requirements** and their respective **clusters** for better organization and clarity.
10+
11+
## Functional Requirements
12+
13+
1. Create and execute programs.
14+
2. Use visual bricks to represent program components.
15+
3. Connect bricks to form logical sequences.
16+
4. Implement mathematical operations.
17+
5. Construct musical compositions.
18+
6. Create digital artworks.
19+
7. Categorize bricks based on functionality.
20+
8. Enable workspace theme customization (light/dark mode).
21+
9. Expand or collapse code bricks.
22+
10. Display artworks directly on the workspace.
23+
11. Execute programs step-by-step or at a controlled speed.
24+
12. Save, load, and create new projects.
25+
13. Generate and display project statistics.
26+
14. Implement zoom and pan functionality in the workspace.
27+
15. Support multiple languages.
28+
16. Delete bricks from the workspace.
29+
17. Implement undo functionality.
30+
18. Allow abstraction of program sections through action bricks.
31+
19. Save programs to cloud storage.
32+
20. Save artwork files.
33+
21. Export music as sheet music.
34+
22. Categorize and color-code bricks for better usability.
35+
23. Provide a user guide or tutorial.
36+
24. Offer different modes (beginner/advanced).
37+
25. Allow users to configure settings.
38+
26. Implement search functionality for bricks.
39+
27. Provide a text-based code editor alongside visual programming.
40+
28. Support the addition of plugins and extensions.
41+
29. Stop currently running programs.
42+
30. Toggle fullscreen mode.
43+
31. Merge multiple programs into one.
44+
45+
### Clustered Groups
46+
47+
| Grouped Points | Rationale |
48+
|------------------------------|-----------------------------------------------------------------------------|
49+
| **1-6, 18 (Build Programs)** | Construct and organize programs |
50+
| **6, 10 (Artworks)** | Empower users to create and visualize art programmatically. |
51+
| **7, 9, 22, 26, 28 (Bricks)**| Create, modify, categorize, and search bricks. |
52+
| **8, 14, 30 (WS Viewing)** | Adapt the workspace to user preferences for comfort and productivity. |
53+
| **11, 29 (Run Program)** | Run, stop, and run step-by-step through programs |
54+
| **12, 19, 20, 21 (Save)** | Ensure users can save, export, and access projects across formats/devices. |
55+
| **12, 31 (Save/Merge)** | Save, load, merge and create new projects. |
56+
| **13, 23 (Show Info)** | Help users track progress and learn through statistics and guides. |
57+
| **15 (Language)** | Broaden app accessibility for non-English speakers. |
58+
| **16, 17 (CRUD on Bricks)** | CRUD operation to minimize friction from mistakes and streamline editing. |
59+
| **24 (Modes)** | Cater to diverse skill levels with tailored interfaces. |
60+
| **25 (Configurations)** | Allow users to tailor the app to their workflow and hardware. |
61+
| **27 (Text Editor)** | Support both visual and traditional coding preferences. |

0 commit comments

Comments
 (0)