This repository is intended for software developers who wish to modify the frontend of the FarmBot Web App or host it on their own server. If you are not a developer, you are highly encouraged to use the free hosted web app at my.farmbot.io.
If you would like to report a problem with the web app, please submit an issue.
This is the Javascript / HTML / CSS of the FarmBot web app. It depends on a backend API (my.farmbot.io by default).
LATEST STABLE VERSION IS HERE ⭐ ⭐ ⭐
- Install node if you haven't already.
- Install Google Chrome for best app experience.
git clone https://github.com/FarmBot/farmbot-web-frontend.git
cd farmbot-web-frontend
npm install
npm start
- Visit
http://localhost:8080/
NOTE: The Web API deployment will automatically build the latest version of the frontend and mount it in the web server. The instructions below are intended for reference purposes, or for users who wish to host their frontend code on a different server than their API.
- (optional, usually not needed) If you have an NPM module that needs to get baked into the build, pass the NPM modules name in as
NPM_ADDON=foo
- run
npm run build
- Copy the contents of
/app
into your webserver and it will be accessible via/
. - Visit
/
on your web server to verify installation. - Submit an issue if you hit problems during the installation.
Weinre is included in this project.
To utilize it, head over to the /src
directory of the app, add a file called
config.json
, and populate it with this:
{
"ip_address": "YOUR-IP-ADDRESS"
}
Then, in your console, weinre --boundHost YOUR-IP-ADDRESS --httpPort 8081
.
This should run in tandem with the rest of your project.
Then navigate to http://YOUR-IP-ADDRESS:8081/client/#anonymous.
After adding the config.json
, you may be required to npm start
again.
Check out the Low Hanging Fruit.
Also, if you're experiencing UI/UX issues, please include any possible specifications (device type, device OS, and device browser) to help in the debugging process. Bonus points for GIFs and screenshots. ✊
Thanks for your interest in internationalizing the FarmBot web app! To add translations:
- Fork this repo
- Create a
yy.js
file in/public/app-resources/languages/
whereyy
is your language's language code. Eg:ru
for Russian. If your language already has a file, then you can skip this step. - Search the application for calls to
t()
. Any file that importsfrom "i18next"
will have strings that require translation. - When you have updated or added new translations, commit/push your changes and submit a pull request.