Seeed-Studio / CodeCraft

Codecraft is a graphical programming software which is based on Scratch 3.0
https://ide.tinkergen.com/
Apache License 2.0
18 stars 3 forks source link

Codecraft Legacy #7

Closed vongomben closed 5 months ago

vongomben commented 1 year ago

Hi! First of all, I'm here posting this because I find Codecraft a wonderful educational tool.

From my perspective, I love codecraft from 3 different reasons: 1) Via the Codecraft Assistant, a student could program Wio Terminal without installing everything: 2) Just as a Code Generator, is helping students to sketch the backbone of a program, (which could be later pasted in the IDE and edited). This made my students save TON of time, and it would be great to find a way to add module that produce code based on custom or more popular libraries, as well as more (if not all) Grove modules. 3) The TinyML stuff is amazing, but maybe it makes the wohle thing more difficult to mantain, as the whole thing is an API to Edge impulse (possibly? I don’t know what is working behind the sink).

Q: How is the building process managed by Codecraft? Are you using the Arduino CLI? Q: One of the first things I would try to do if I succeded in building the app (which I'm not right now) would be create custom blocks, simply generating code (point 2). Creating a simple wifi-connection block, together with a jsonizer block and mqtt, would allow a dramatic speeding up of my teaching classes (hopefully many others) Q: If the direction is to dismiss it from Seeed (ide.tinkergen.com), it would be interesting to distribute it as a docker compose file in order to be easily buildable and hostable around.

mouseart commented 1 year ago

Dear vongomben,

Thank you for sharing your thoughts and feedback on the Codecraft project. As an educational tool, we appreciate your support and input.

Regarding your questions, I would like to address them one by one:

  1. How is the building process managed by Codecraft? Are you using the Arduino CLI? Codecraft not only uses the Arduino compiler but also the gcc compiler to build the code. This approach provides more flexibility in terms of code optimization and customization.

  2. Creating custom blocks for Codecraft Customizing Codecraft's blocks to generate code for popular libraries and modules is a great idea. You can modify the blocks' code by finding the corresponding file that matches the block ID. You can identify the block ID in the XML configuration of the block. By following the structure of existing blocks, you can create your own custom blocks that generate code for your desired modules and libraries.

  3. Distributing Codecraft as a Docker Compose file If the direction is to dismiss Codecraft from Seeed, distributing it as a Docker Compose file would be an interesting option. This would make it easily buildable and hostable for users who want to use Codecraft independently.

In conclusion, we appreciate your suggestions and ideas for improving Codecraft. Customizing the blocks and adding support for popular libraries and modules would make it a more powerful tool for students and educators. Thank you for your contributions to the open-source community.

vongomben commented 1 year ago

Thanks for the answer. Super interesting road map, when do you think this will happen?

Regarding point 2: I'm now failing in building Codecraft locally (I've opened some issues about it). Whenever I'll be able to I will be feedbacking you about the custom block build 💪

ciao for now