A web application for viewing and analyzing vessel tracking data.
- View vessel tracks on an interactive map
- Filter trips by date and vessel
- Analyze vessel speed with color-coded tracks
- MongoDB-based authentication system using vessel IMEI numbers
- Node.js (v16+)
- npm
- Clone the repository
- Install dependencies:
npm install
- Make sure you have a valid
.envfile with the required environment variables:VITE_MAPBOX_TOKEN=your_mapbox_token VITE_MONGODB_URI=your_mongodb_connection_string SERVER_PORT=3001
To run both the frontend and backend servers simultaneously:
npm run dev:allThis will:
- Start the frontend Vite server (usually on port 5173)
- Start the backend Express server (on port 3001)
- Show output from both servers in a single terminal with color coding
If you prefer to run the servers separately:
-
Start the backend:
npm run dev:server
-
Start the frontend (in a separate terminal):
npm run dev
The application authenticates users against a MongoDB database. You can log in using:
- Vessel IMEI: The 15-digit IMEI number of a registered vessel
- Password: The corresponding password in the MongoDB database
This application is configured for easy deployment to Vercel. For detailed instructions, see VERCEL_DEPLOYMENT.md.
Quick steps:
- Push your code to a Git repository
- Import the project in Vercel Dashboard
- Set the environment variables (
VITE_MONGODB_URIandVITE_MAPBOX_TOKEN) - Deploy
The application uses:
- Vercel Serverless Functions for the backend API
- Vite build for the frontend
- Environment variables for configuration
- Server Setup Guide - Details about the backend API server
- Vercel Deployment Guide - Instructions for deploying to Vercel