# Nodium
>Nodium is currently in development and is not yet ready for production use.
Nodium is an easy-to-use data analysis and automation platform built using Rust, designed to be versatile and modular. Nodium aims to provide a user-friendly visual node-based interface for various tasks.

## Getting Started
If you want to contribute to the project, you can clone the repository and run the project locally. Think about solving an issue or adding a feature.
### Prerequisites
What things you need to install the software and how to install them
* [Rust](https://www.rust-lang.org/tools/install)
### Installing
A step by step series of examples that tell you how to get a development env running
Say what the step will be
```bash
git clone https://github.com/cherob/nodium
cd nodium
cargo run
```
## Features
* Visual node-based interface with input and output pins.
* Dynamic loading of crates and runtime imports using libloading for plugin support
* Task-based recursive computation of nodes to execute user-created graphs
* Support for sub-flows as nodes, increasing modularity
* Save and reuse flows across multiple locations
* Async programming and a robust tasking system for performance and usability
## Milestones
### Milestone 1: Basic Nodes
* [ ] Basic Input Node (Text, Number, etc.)
* [ ] Debbugging Node (Print, Log, etc.)
* [ ] Node Connection
### Milestone 2: Basic Data Manipulation
* [ ] File Node (Read, Write, etc.)
* [ ] Basic data manipulation (filter, sort, etc.)
* [ ] APIs (REST, GraphQL, etc.)
* [ ] Databases (SQL, NoSQL, etc.)
* [ ] Basic math operations (add, subtract, etc.)
### Milestone 3: Basic Data Analysis
* [ ] Machine learning processes (text, image, audio, etc.)
* [ ] Web Dashboard creation (HTML, CSS, JS, etc.)
* [ ] Machine learning training
* [ ] IoT (MQTT, UDP, TCP, etc.)
## Contributing
Create a pull request and I'll review it.
Or join the [Discord](https://discord.gg/ZTVfME7RyN) and we can talk about it.
## Authors
* **Cherob** - *Initial work* - [Cherob](https://github.com/cherob)
## Inspiration
### NodeRED
[GitHub NodeRED](https://github.com/node-red/node-red)

### Orange
[GitHub Orange3](https://github.com/biolab/orange3)

### Blender: Geometry Nodes
[Doc Geometry Nodes](https://docs.blender.org/manual/en/latest/modeling/geometry_nodes/index.html#index-0)

### Unity: Shader Graph
[Doc Shader Graph](https://docs.unity3d.com/Packages/com.unity.shadergraph@14.0/manual/First-Shader-Graph.html)

### Drawflow
[GitHub Drawflow](https://github.com/jerosoler/Drawflow)

### Unreal Engine 5: Blueprints
[Doc Blueprints](https://docs.unrealengine.com/5.0/en-US/blueprint-tutorials-in-unreal-engine/)
