Version | Date | Status |
---|---|---|
1.0 | 09/04/2024 | Approved |
1.1 | 16/04/2024 | Approved |
Software Requirement Specification
This document outlines the design and architecture of Obo Blocks, a Scratch Blocks to Python code converter with code evaluation using Pydiode. Obo Blocks aims to facilitate the transition from visual programming to text-based programming for students and teachers at Roboticgen Academy
Obo Blocks will allow users to convert programs written in Scratch Blocks, a visual programming language, into Python code. Additionally, it will provide code interpretation capabilities with limited number of libraries using Pydiode while supporting micropython extention, enabling users to edit the generated Python code snippets,run their Python code directly within the web interface while allowing users to upload generated code to ESP32 Development Board (MagicBit).The target users include students and teachers affiliated with Roboticgen Academy.
The system is for students who have no prior knowledge of Python-related programming to program ESP32 using Scratch Blocks.
The Monolithic Architecture will be used for the system.
- Blockly Workspace : Responsible for providing the interface for building programs using Scratch Blocks
- Code Converter : Responsible for converting Scratch Blocks programs into Python code.
- Code Interpreter : Utilizes Pydiode for executing Python code within the browser environment.
- Code Uploader : Responsible for uploading generated code to ESP32 Development Board (MagicBit).
- Error Handler : Handles errors and provides informative messages to users.
The technology stack of obo blocks will be as follow
- Programming Languages : HTML,CSS and JavaScript.
- Third-Party APIs:
- Blocky
- Pydiode
- Highlightjs
- IDE/Code Editor : VS Code
- Version Control : Git/Github
- Project Management : ClickUp
Hosting/Cloud Provider : Netlify for Development and AWS for Deployment