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.
Before you begin, ensure you have met the following requirements:
- You have installed a relatively recent version of Node.JS
To install Backroad, follow these steps:
npx degit sudomakes/trybackroad trybackroad
cd trybackroad
npm i
npm run dev
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
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.
If you want to reach out for anything related to Backroad, you may send an email to [email protected]
Website & Documentation : backroad.sudomakes.art
Link to the NPM Package: @backroad/backroad
Easiest way to get started with backroad: sudomakes/trybackroad
π 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.
π Improving file upload UX (by Jan 2024) - allow copy pasting from clipboard instead of having to read from fs
This project uses the Fair Source license.
Thanks goes to these wonderful people (emoji key):
Vaibhav Chopra π» |
Ebube π |
This project follows the all-contributors specification. Contributions of any kind welcome!