Skip to content

tristanbudd/SIST

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

341 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SIST (Ship Intelligence & Suspicion Tracker) Banner

SIST (Ship Intelligence & Suspicion Tracker)

SIST (Ship Intelligence & Suspicion Tracker) - A modern AIS monitoring and analysis platform designed to detect suspicious vessel activity, anomalies, and patterns in maritime data.


Project Description

SIST provides a powerful interface for tracking, analysing, and flagging vessel behaviour using AIS (Automatic Identification System) data.

The platform is built with a Laravel backend and a React + Inertia.js frontend, offering a fast, responsive, and scalable architecture for real-time maritime intelligence.

It currently supports:

  • Monitoring vessel movement and behaviour in real time.
  • Detecting anomalies and suspicious activity through external data source integrations.
  • Visualising maritime data in a clear, actionable way.
  • Providing a foundation for further intelligence tooling.

System Disclosures

AIS Coverage Limits - SIST's AIS tracking is subject to terrestrial and satellite reception limits. Coverage is not 100% global, and vessel data may experience latency or intermittent gaps depending on region.

Data Integrity - Information is aggregated from public, open-source maritime feeds. SIST provides this for tracking and research purposes, but absolute data integrity depends on external source accuracy.

Developmental Status - SIST is a new platform undergoing active testing. Features, analytics, and data accuracy are currently under evaluation.


Documentation

Hosted docs: https://sist.tristanbudd.com/docs

Local docs: Available under http://127.0.0.1:8000/docs or http://127.0.0.1:8000/documentation after running the development server.


Features

Completed

  • Real Time Fleet Tracking: View active vessels on a dynamic, high performance map.
  • Hybrid Search System: Search for active and offline vessels with a highly responsive search bar.
  • Detailed Vessel Profiles: Access deep insights into a ship's current status, voyage details, and historical route data.
  • Sanctions Compliance Verification: Automatically check vessel identifiers against official sanction lists and dark fleet networks.
  • Historical Trajectory Analysis: Select custom time windows to analyse past movement and waypoints.

Planned Updates

  • Suspicion Scoring: Vessel analysis to assess a proprietary suspicion score and track strange behaviour. Will consider implementing AI to assist with anomaly detection.
  • Ships of Interest Panel: A dedicated interface for managing flagged or closely watched vessels.
  • Analysis Tooling: Additional slide out panels on the left to provide further map and analysis capabilities.

Tech Stack

  • Backend: Laravel (PHP ≥ 8.3)
  • Frontend: React 18 + Inertia.js
  • Build Tooling: Vite
  • Styling: Tailwind CSS
  • Linting & Formatting: ESLint, Prettier, Laravel Pint
  • Git Hooks: Husky + lint-staged

Installation & Setup

1. Clone the repository

git clone https://github.com/tristanbudd/sist.git
cd sist

2. Install dependencies

PHP dependencies

composer install

Node dependencies (pnpm)

pnpm install

3. Environment setup

cp .env.example .env

Update your .env file:

APP_NAME=SIST
APP_ENV=local

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=sist
DB_USERNAME=root
DB_PASSWORD=

4. Generate app key

php artisan key:generate

5. Run migrations

php artisan migrate

6. Start development servers

Laravel backend

php artisan serve

Frontend (Vite)

pnpm dev

Scripts

pnpm dev             # Start Vite dev server
pnpm build           # Build frontend assets

pnpm lint            # Run ESLint
pnpm lint:fix        # Fix lint issues

pnpm format          # Format frontend files
pnpm format:check    # Check formatting

pnpm format:php      # Format PHP (Laravel Pint)
pnpm format:php:test # Check PHP formatting

Development Notes

  • Uses modern Laravel + Inertia architecture (SPA without full API separation)
  • Frontend is located in resources/js
  • Tailwind CSS is configured via Vite
  • Husky + lint-staged enforce code quality on commits

Contributing

Contributions are welcome.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Ensure linting and formatting pass
  5. Open a pull request

Please read CONTRIBUTING.md for more details.


Security

If you discover a vulnerability, please open a private issue or follow SECURITY.md.


License

MIT