Dear Mr Saranto Kapidaki, I am submitting my proposal regarding the project in which you are serving as a mentor. This proposal outlines the general development approach of the program and how I envision it functioning at a functional level. As for the software development model, which I consider crucial for the project's development, I would choose the prototyping model. This model fits the prototype-level size of the project, providing flexibility in the program's requirements, which may change during the prototype creation. In the prototyping development model, the system requirements we wish to develop need to be determined. Initially, the program will provide users with the following basic capabilities regarding the creation of a project according to the Code Orama standards: 1. Importing an existing project created on https://scratch.mit.edu/. Importing will be done by loading the file in Json format to retrieve all the project's data and import it into Python. 2. Creating a new project exclusively from the program to be developed. Creation will allow the user to manage the file locally and, if desired, upload it to https://scratch.mit.edu/. This management can be done through the scratch3 library of Python. 3. Graphical representation of the program's objects that the user can create, which can be done in Python using libraries providing graphical representation of objects. Preferably, I would choose Kivy for its MIT license and its cross-platform usage (Windows, macOS, Linux, Android, and iOS). 4. Debugging capabilities regarding the connections of the objects imported by the user into the program. When creating a new object through user object-oriented programming in Python, we can insert the properties into the classes themselves to enable this capability. 5. Help features to inform the user about their actions during the creation and linking of objects. This assistance can be graphically represented in the form of hints so that the user knows at any given moment what objects they are creating or linking as they manage the objects they create. The second part of the prototyping model concerns the "Development Plan." I propose the following: 1. Initially, understanding how the Code Orama template works regarding what one can create in terms of objects and how they are interconnected to create a project. 2. Understanding how the project created by the user is saved in bs3 format (see Json) and how this method can be translated into objects in the Python language. That is, how the data of a program will be imported into the program to later create the classes of the objects and represent them graphically. 3. The representation and creation of the aforementioned objects and their properties and connections as Python language objects. During their creation, all properties enabling debugging and assistance to the user should be included. 4. The graphical representation of these objects as objects with colors and properties according to the Code Orama standards. After the analysis, design, and coding of the program described above, a prototype program will be created, which should be tested for use. If it proves functional, it will be the final form of the program; otherwise, the cycle of analysis, design, and coding must be repeated. Yours sincerely, Panagiotis Panageas
---- Λαμβάνετε αυτό το μήνυμα απο την λίστα: Λίστα αλληλογραφίας και συζητήσεων που απευθύνεται σε φοιτητές developers \& mentors έργων του Google Summer of Code - A discussion list for student developers and mentors of Google Summer of Code projects., https://lists.ellak.gr/gsoc-developers/listinfo.html Μπορείτε να απεγγραφείτε από τη λίστα στέλνοντας κενό μήνυμα ηλ. ταχυδρομείου στη διεύθυνση <gsoc-developers+unsubscribe [ at ] ellak [ dot ] gr>.