Task: STRUCT-003 Branch: cline-dev-dishant Cross-branch notes: none -- no shared dependencies with Richard phase 9/6 work - ProjectImporter class (pure, filesystem-agnostic) - Converts v2 multi-file format back to legacy project.json - unflattenNodes: reconstructs recursive tree from flat NodeV2 array (two-pass) - toLegacyName: uses preserved component.path for perfect round-trip fidelity - Metadata merge: routes/styles merged back into project.metadata - stateParameters -> stateParamaters reversal (legacy typo preserved) - Non-fatal warnings: component failures collected, not thrown - 55 unit tests in tests/io/ProjectImporter.test.ts - unflattenNodes: 11 cases - toLegacyName: 4 cases - ProjectImporter.import(): 20 cases - Round-trip (export -> import): 20 cases - Updated tests/io/index.ts to export importer tests - Updated PROGRESS-dishant.md: STRUCT-001/002/003 all marked complete
OpenNoodl
OpenNoodl is a fork of the original Noodl open source code under GPL-3.0 license. OpenNoodl / Noodl is a front end React app builder with a visual programming interface.
OpenNoodl will aim to stay entirely in sync with the original repository, including future updates to this repository. A roadmap for updates will be published soon.
Installing OpenNoodl
One-click install
Arch Linux
On Arch Linux, OpenNoodl can be installed from the AUR:
yay -S opennoodl
Getting started
Beginner resources
Integrated back-end
Cloud hosted
OpenNoodl has native CRUD nodes that work with Parse Server backends. OpenNoodl Hosting provides free and paid Parse Server backends to help you get started.
Self hosted
If you prefer self-hosting or a local backend, while still taking advantage of the native OpenNoodl CRUD nodes, check out the repositories of the original Noodl Cloud Services backend (Parse and cloud functions), as well as the new OpenNoodl Better Backend (Parse and n8n).
Building from source
See the original Noodl documentation below
Contribution
We welcome contributions to OpenNoodl! To contribute:
- Fork the repository and create your feature branch (
git checkout -b feature/my-feature). - Make your changes and follow the existing code style.
- Test your changes locally.
- Commit your changes (
git commit -am 'Add new feature'). - Push to your branch (
git push origin feature/my-feature). - Open a pull request describing your changes.
See CONTRIBUTING.md for details and our code of conduct.
If you have questions, join our community or open an issue.
Noodl
Noodl is a low-code platform where designers and developers build custom applications and experiences. Designed as a visual programming environment, it aims to expedite your development process. It promotes the swift and efficient creation of applications, requiring minimal coding knowledge.
Documentation
Documentation for how to use Noodl can be found here: https://noodlapp.github.io/noodl-docs/
Community
Main support channel is Discord: https://www.noodl.net/community
Download releases
Pre-built binaries can be downloaded from Github
Note for users who are migrating from the deprecated closed source version
- Migrating the project files and workspaces to a Git provider
- Migrate backend and database
- Self-host frontend
Building from source
# Install all dependencies
$ npm install
# Start the Noodl Editor and build a production version of the cloud and react runtime (useful when running Noodl from source but want to deploy to production)
$ npm start
# Start the Noodl Editor and watch the filesystem for changes to the runtimes. Development versions of the runtimes, not meant for production (mostly due to source maps and file size)
# This is ideal for a quick workflow when doing changes on the runtimes.
$ npm run dev
# Start Noodl Editor test runner
$ npm run test:editor
Licenses
This repository contains two different licenses for different parts of the Noodl platform.
- Components related to the editor, used to edit Noodl projects, are under GPLv3
- Components related to the end applications, used by the applications Noodl deploys, are under MIT
All of the source code of applications created with Noodl are under MIT. This means you can do project specific changes to the runtime without having to redistribute your changes.
Packaged licensed under MIT:
noodl-runtimenoodl-viewer-cloudnoodl-viewer-react
You can find a MIT LICENSE file in each of these packages. The rest of the repository is licensed under GPLv3.