ghostface / uavcast

✈️ uav companion software ✈️

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://i.ibb.co/qF2frvt/uavcast-logo-trans-compact-hue.png

GithubCI Release Docker Pulls

uavcast - companion software for remote 🚁 ⛵ 🚗

uavcast 5.x has been re-written from the ground-up compared to the previouse versions, and are still missing key features before it is usable.

⚠️ This project is still in development and does not have a stabel version yet. Feel free to make improvements and provide a PR.

Latest build of this repository can be found at:


🐳 Installation

To install developer version (supervisor & uavcast) on Rasperry PI, Jetson, or any arm/v7 arm64 amd64 device:

  • curl -s http://install.uavmatrix.com/next/ | sudo bash

📓 Documentation

https://docs.uavmatrix.com/5.x/


🔨 Codebase

✅ Express nodejs (Typescript)
✅ Typeorm && sqlite3 database
✅ React (Typescript)
✅ Semantic-ui-react
✅ graphql / type-graphql && codegen


🔧 Developer Instructions

Prerequisites

⚠️ These packages needs to be installed

➕ Docker
➕ Docker Compose
➕ Visual Studio Code

💻 Open the repo with Visual Studio Code

Upon opening, you should be prompted to open the project in a remote container. This will build a container on top of the base uavcast container with all the development dependencies installed. This ensures everyone uses a consistent development environment without the need to install any dependencies on your host machine.

If vscode does not start the remote container automatically, use hotkeys: Ctrl + shift + p and select Remote-Container: Rebuild and Reopen container

After starting the container for the first time, it will install some additional package, give it few minutes to complete. install


Run uavcast from the command line

VSCode will start the docker compose file for you and open a terminal window connected to /app/uavcast folder.

➖ Run cd backend && npm install
➖ Run cd frontend && npm install
➖ Run npm start from the project root to start both frontend & backend.

Supervisor

Uavcast uses a supervisor container to manage the application update ect. Supervisor is not needed for development. To run the supervisor, type cd supervisor && npm install && npm start from the uavcast project root.

Teardown

After closing VSCode, you may still have containers running. To close everything down, just run
docker-compose down -v to cleanup all containers.

Making changes

Do not make large sweeping changes. Open a discussion on GitHub for any large or architectural ideas. Ensure lint passes. npm run lint This command will ensure basic conformance to styles, applying as many automatic fixes as possible, including Prettier formatting.

Build docker locally

Use these commands in the project root (!not in the vscode developer container).
Type ./compile_release.sh + arguments to genereate local docker image, or you can publish to your own container registery.

Example external publish:
./compile_release.sh --image_name sinamics/uavcast --version 5.x.x --docker_publish

Example local build:
./compile_release.sh --image_name sinamics/uavcast --version 5.x.x --docker_local

run docker image locally:

docker run --restart unless-stopped --name uavcast -d \
    -v uavdata:/app/uavcast/data \
    -v /var/lib/zerotier-one:/var/lib/zerotier-one \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /dev:/dev \
    --privileged=true --net=host [image_name]:[version]

Images

Map Dashboard


Copyright and License

uavcast is provided under the GNU Affero General Public License v3.0.

About

✈️ uav companion software ✈️

License:GNU Affero General Public License v3.0


Languages

Language:JavaScript 49.4%Language:C++ 18.8%Language:Python 15.5%Language:TypeScript 13.0%Language:SCSS 2.1%Language:C 0.6%Language:CSS 0.2%Language:Shell 0.2%Language:HTML 0.0%Language:Makefile 0.0%