Skip to content

mustbeperfect/palisade

Repository files navigation

Palisade

Experimental modern warfare and tactical defense system

Screenshot

Caution

This software is experimental and for research purposes only. This project does not promote, condone, or endorse violence. Please read the disclaimer before utilizing this app.

Caution

This project is in it's VERY early stages. The backend is nothing more than a skeleton and some sections are still in the architecting phase.

What is Palisade?

Palisade is a selfhosted command and control system for modern defensive autonomous warfare on a home scale. Think of it as Anduril's Lattice but akin to the scale of Homeassistant.

This is a prototype and proof of concept. Hardware does not currently exist to bridge with the system, thus, everything must be run in simulated mode.

Ok, so what does Palisade actually do?

Here's an example. Your security camera detects movement and suspects something has breached the perimeter. You use Palisade to task a drone to the anomaly coordinates which locks onto the target; a spy ground vehicle. You task that drone to maintain visuals with the UGV while you task long range UAVs to autonomously map the entire area 5 miles out from the perimeter. They relay an ominous picture; multiple tanks and APC's are closing in, preparing an invasion on your property.

You create a new mission in Palisade: "Evacuate the property." Missiles are placed on standby while Palisade creates an optimal escape route relative to hostile assets being tracked by your survillance vehicles.

Note

Palisade is a hobby project and it's core purpose will likely never see the light of day. Most of us don't have massive properties or motorcades to protect, and civilian ownership of war assets is obviously illegal.

Stack / Technologies

Frontend:

  • Framework - Nuxt (Vue)
  • Runtime - Bun
  • CSS - Tailwind
  • Icons - Bootstrap Icons
  • Node Editor - VueFlow
  • Drag and Drop - Gridstack
  • Map - MapLibre
  • Tactical Display - deck.gl
  • 3D - ThreeJS
  • Weather - Open-meteo
  • Utilities - Vueuse
  • State Management - Pinia

Geographical Systems:

  • Geospatial Analysis - Turf.js
  • Geofencing - Tile38

Backend:

  • Database - SQLite
  • ORM - Gorm
  • Framework - Gin

Bridge:

  • Language - Python
  • Package Manager - UV
  • Framework - FastAPI

Note

This is just a proof of concept. I plan to create a much more advanced and multi-user version of Palisade in the future. This would use a much more powerful stack like kepler.gl with a threejs layer ontop, all with Next.js.

Contributing

This project is currently progressing at a rapid pace. Although contributions are welcome, it would probably be better to wait until we've moved out of the architecting phase and have grounded conventions and infastructure in place.

Getting Started

Prerequisites

Make sure you have the following installed on your system:

  • Bun - Replaces Nodejs and NPM
  • GoLang - Backend Language
  • UV - Python all in one

Setup

  • Fork the repository
  • Clone the repository locally

You do not need a .env file right now as no dependencies require API keys.

Frontend

Go into the frontend directory:

cd frontend

Install dependencies:

bun install

Run the server:

bun run dev

Backend

Go into the backend directory:

cd backend

Install dependencies:

go mod tidy

Start the backend:

go run main.go

Building the Binary (untested)

Build the frontend:

bun run build

Copy the frontend build output into a new directory in the backend:

web/dist

Build the app:

go build -o myapp

About

Experimental modern warfare and tactical defense system

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors