Improve README

This commit is contained in:
2025-12-29 12:11:41 -06:00
parent 38887b1de2
commit 9468010981

108
README.md
View File

@@ -1,87 +1,107 @@
# Quad4 Linking Tool
A client-side web linking tool for mapping relationships between entities.
A web linking tool for mapping relationships between entities.
<img src="showcase/linkingtool.png" alt="showcase image" width="900">
## Features
Dekstop coming soon...
- Interactive graph visualization
- Multiple entity types (person, email, phone, address, domain, org, IP, social)
- Auto-save to localStorage
- Import/Export JSON
- Share link via base64 for smaller graphs
- Undo/Redo support
- PWA support (installable, offline-capable)
- Desktop App support (via Wails)
- Single Binary Web Server (via Go)
- Mobile support
## Quick Start
## Self-Hosting
### Using the Binary
### Go Binary
The easiest way to self-host is using the single binary:
1. Build the binary:
```sh
./linking-tool --port 8080
task build
```
### NPM
2. Run the server:
```sh
npm config set @quad4:registry https://git.quad4.io/api/packages/quad4-software/npm/
npm install -g @quad4/linking-tool
linking-tool
./bin/linking-tool --port 8080
```
### Docker
3. Open your browser to `http://localhost:8080`
### Using Docker
```sh
docker run -p 8080:8080 git.quad4.io/quad4-software/linking-tool
```
## Desktop Application
Then open your browser to `http://localhost:8080`
You can build the desktop application for your platform using Wails:
## Features
- Interactive graph visualization
- Multiple entity types (person, email, phone, address, domain, org, IP, social)
- Auto-save to IndexedDB
- Import/Export JSON
- Share link via base64 for smaller graphs
- Undo/Redo support
- PWA support (installable, offline-capable)
- Native desktop app support (via Wails)
- Single binary lightweight web server
- Support for 32-bit and 64-bit architectures (runs on old Raspberry Pi Zero W)
## Installation Options
### Self-Hosted Web Server
The easiest way to self-host is using the single binary:
```sh
make desktop-build
task build
./bin/linking-tool --port 8080
```
The binary will be located in `bin/`.
The binary will be located in `bin/` after building.
### Desktop Application
Build the desktop application for your platform:
```sh
task desktop-build
```
The binary will be located in `bin/` after building.
## Development
### Prerequisites
- Go `1.25.5`
- Node.js
- pnpm
- Wails (for desktop app development)
### Setup
```sh
git clone https://git.quad4.io/quad4-software/linking-tool.git
cd linking-tool
pnpm install
```
### Makefile
### Taskfile
The project uses a Makefile for all common tasks:
The project uses a [Taskfile](https://taskfile.dev/) for all development tasks.
Common tasks:
```sh
make dev # Run development servers (Go & SvelteKit)
make build # Build the single binary web server
make help # List all available targets
task dev # Run development servers (Go & SvelteKit)
task build # Build the single binary web server
task desktop-build # Build the desktop application
task # List all available tasks
```
### Docker Build & Artifact Extraction
If you don't have the development environment (Go, Node, Wails) installed locally, you can build and extract binaries using Docker:
```sh
make docker-builder
```
This will build the server and desktop application inside a container and copy the resulting binaries to the `bin/` directory on your host machine.
## Contributing
Send us an email at [team@quad4.io](mailto:team@quad4.io) for any issues or feedback.
Send us an email at [team@quad4.io](mailto:team@quad4.io) for any issues or feedback.
## LICENSE
## License
[MIT](LICENSE)
[BSD 3-Clause](LICENSE)