A modern GPS tracking application built with Laravel and OpenLayers for recording, processing and visualizing location data.
Symbiot is a web application that allows users to manage GPS tracking sessions and visualize recorded routes on an interactive map.
The application is built using Laravel for the backend and OpenLayers for rendering maps, while Vite and Bootstrap provide a modern frontend development workflow.
- User authentication
- Device management
- GPS tracking sessions
- Route visualization using OpenLayers
- GeoJSON support
- Daily track filtering
- Interactive map
- Geoapify integration
- REST API
- Seeders with realistic GPS routes
- Queue processing
- Responsive Bootstrap interface
Backend
- Laravel 13
- PHP 8.4
- MySQL
- Sanctum
Frontend
- Bootstrap 5
- Vite
- OpenLayers
- JavaScript (ES Modules)
Maps
- OpenLayers
- Geoapify
- OpenStreetMap
- OSRM Routing API
Development
- PHPStan
- Laravel Pint
- Composer
- npm
Clone the repository
git clone https://github.com/nplesa/symbiot.git
cd symbiotInstall dependencies
composer install
npm installCopy the environment file
cp .env.example .envGenerate the application key
php artisan key:generateConfigure the database in .env.
Run migrations
php artisan migrateSeed demo data
php artisan db:seedBuild frontend assets
npm run buildStart the application
php artisan serveapp/
├── Http/
├── Jobs/
├── Models/
├── Services/
resources/
├── css/
├── js/
routes/
database/
docs/images/login.png
docs/images/dashboard.png
docs/images/tracking.png
Example endpoints
GET /tracking/sessions
GET /tracking/{session}/points
POST /api/login
POST /api/logout
Run PHPStan
vendor/bin/phpstan analyseRun Pint
vendor/bin/pintBuild assets
npm run dev- Live GPS tracking
- Route replay
- Speed analysis
- Elevation profile
- GPX import/export
- Heatmap visualization
- Statistics dashboard
This project is licensed under the MIT License.
Nicolae Pleșa
GitHub