/backroad

Streamlit equivalent for Node.JS 💚

Primary LanguageTypeScriptOtherNOASSERTION

Backroad

https://backroad.sudomakes.art https://backroad.sudomakes.art https://react.dev/ NX Workspace semantic-release: backroad

Backroad is a low-code tool that allows Node.JS developers to try out their own tooling/packages or build proof-of-concept apps as quickly as possible.

Backroad provides a simple streamlit-like API and ships with several commonly used components out of the box like form inputs, tables and LLMs. Powered by a top-to-bottom re-run based flow, it allows you to quickly put together applications with a very easy-to-understand interface.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • You have installed a relatively recent version of Node.JS

Installing Backroad

To install Backroad, follow these steps:

npx degit sudomakes/trybackroad trybackroad
cd trybackroad
npm i
npm run dev

Backroad Example

Here's what a sample backroad script looks like

const [photo] = br.fileUpload({ label: 'Pick Image' });
if (photo) {
  br.write({ body: '# Greyscale image' });
  const image = await Jimp.read(photo.filepath);
  image.greyscale().getBase64(Jimp.AUTO, (err, res) => {
    br.image({ src: res, width: 600 });
  });
}

And this is the output you will get in the browser:

As you can probably notice, it takes a relatively small amount of code to get started building and prototyping your ideas with Backroad. To learn more about backroad components and concepts, refer the docs

Contributing to Backroad

To contribute to Backroad, follow these steps:

You can refer to the contribution guide which has some helpful instructions on how to get started with contributing to Backroad.

Alternatively see the GitHub documentation on creating a pull request.

Contact

If you want to reach out for anything related to Backroad, you may send an email to contact@sudomakes.art

Links

Website & Documentation : backroad.sudomakes.art

Link to the NPM Package: @backroad/backroad

Easiest way to get started with backroad: sudomakes/trybackroad

Roadmap

Proposals

🔏 Adding authentication (by Feb 2024)- use auth.js to allow per page auth granularity.

🌐 SEO improvements (TBD) - google crawlers can render and crawl react, but websockets are presenting an issue in achieving SEO.

☁️ One Click Deploy (by June 2024) - something similar to streamlit's community cloud to help easy deployments and promote adoption.

In Progress

📋 Improving file upload UX (by Jan 2024) - allow copy pasting from clipboard instead of having to read from fs

License

This project uses the Fair Source license.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Vaibhav Chopra
Vaibhav Chopra

💻
Ebube
Ebube

📖

This project follows the all-contributors specification. Contributions of any kind welcome!