Version | Date | Status |
---|---|---|
1.0 | 30/05/2024 | Approved |
Software Requirement Specification
This document outlines the design and architecture of Obo Code, a extension for Obo Blocks to support interpreting python turtle library with graphics. Obo Code aims to simplify the process of running Python code with graphical output using the turtle library within the browser environment.
Obo Code will provide a platform for users to write and execute Python code with graphical output using the turtle library. The platform will include a code editor, a turtle workspace, and an output console for displaying execution results. Obo Code will utilize Skulpt, a client-side Python interpreter, to run Python code within the browser environment.
The system is for students and teachers who want to use python turtle library for graphical drawings. The system will provide a platform for users to write and execute Python code with graphical output using the turtle library. The platform will include a code editor, a turtle workspace, and an output console for displaying execution results. Obo Code will utilize Skulpt, a client-side Python interpreter, to run Python code within the browser environment.
The Monolithic Architecture will be used for the system.
-
Code Editor : Interface for writing Python code using CodeMirror.
-
Turtle Workspace : Interface for graphical drawings using Python Turtle Library.
-
Output Console : Display execution output and errors when evaluating Python code.
-
The data flow in the system will be as follows
-
User writes Python code in the code editor.
-
The code editor sends the code to the Skulpt interpreter for evaluation.
-
Skulpt interprets the code and sends the output to the output console.
-
If there any graphical output, it will be displayed in the turtle workspace.
-
If there any input required, it will be displayed in the frontend as input box.
-
If there are any errors, they will be displayed in frontend as Alert.
-
The technology stack of Obo Code will be as follow
- Programming Languages : HTML,CSS and JavaScript.
- Third-Party APIs:
- Skulpt
- CodeMirror
- IDE/Code Editor : VS Code
- Version Control : Git/Github
- Project Management : ClickUp
- Deployment will be done on Cloudflare Pages.