156 lines
3.5 KiB
Markdown
156 lines
3.5 KiB
Markdown
# VIP Coordinator Dashboard
|
|
|
|
A comprehensive web application for managing VIP logistics, driver assignments, and real-time tracking during events.
|
|
|
|
## Features
|
|
|
|
- **VIP Management**: Create, edit, and manage VIP profiles with flight information and schedules
|
|
- **Driver Coordination**: Assign and track drivers with real-time location updates
|
|
- **Flight Tracking**: Monitor flight status and arrival times
|
|
- **Schedule Management**: Organize VIP itineraries and driver assignments
|
|
- **Real-time Dashboard**: Overview of all active VIPs and available drivers
|
|
|
|
## Tech Stack
|
|
|
|
### Backend
|
|
- Node.js with Express.js
|
|
- TypeScript for type safety
|
|
- PostgreSQL database
|
|
- Redis for caching and real-time updates
|
|
- Docker containerization
|
|
|
|
### Frontend
|
|
- React 18 with TypeScript
|
|
- Vite for fast development
|
|
- React Router for navigation
|
|
- Leaflet for mapping (planned)
|
|
- Responsive design with CSS Grid/Flexbox
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
- Docker and Docker Compose
|
|
- Node.js 18+ (for local development)
|
|
- npm or yarn
|
|
|
|
### Quick Start with Docker
|
|
|
|
1. Clone the repository and navigate to the project directory:
|
|
```bash
|
|
cd vip-coordinator
|
|
```
|
|
|
|
2. Start the development environment:
|
|
```bash
|
|
make dev
|
|
```
|
|
|
|
This will start all services:
|
|
- Frontend: http://localhost:5173
|
|
- Backend API: http://localhost:3000
|
|
- PostgreSQL: localhost:5432
|
|
- Redis: localhost:6379
|
|
|
|
### Manual Setup
|
|
|
|
#### Backend Setup
|
|
```bash
|
|
cd backend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
#### Frontend Setup
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## API Endpoints
|
|
|
|
### VIPs
|
|
- `GET /api/vips` - List all VIPs
|
|
- `POST /api/vips` - Create new VIP
|
|
- `GET /api/vips/:id` - Get VIP details
|
|
- `PUT /api/vips/:id` - Update VIP
|
|
- `DELETE /api/vips/:id` - Delete VIP
|
|
|
|
### Drivers
|
|
- `GET /api/drivers` - List all drivers
|
|
- `POST /api/drivers` - Create new driver
|
|
- `GET /api/drivers/:id` - Get driver details
|
|
- `PUT /api/drivers/:id` - Update driver
|
|
- `DELETE /api/drivers/:id` - Delete driver
|
|
|
|
### Health Check
|
|
- `GET /api/health` - Service health status
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
vip-coordinator/
|
|
├── backend/
|
|
│ ├── src/
|
|
│ │ └── index.ts # Main server file
|
|
│ ├── package.json
|
|
│ ├── tsconfig.json
|
|
│ └── Dockerfile
|
|
├── frontend/
|
|
│ ├── src/
|
|
│ │ ├── components/ # Reusable components
|
|
│ │ ├── pages/ # Page components
|
|
│ │ ├── types/ # TypeScript types
|
|
│ │ ├── App.tsx # Main app component
|
|
│ │ └── main.tsx # Entry point
|
|
│ ├── package.json
|
|
│ ├── vite.config.ts
|
|
│ └── Dockerfile
|
|
├── docker-compose.dev.yml # Development environment
|
|
├── docker-compose.prod.yml # Production environment
|
|
├── Makefile # Development commands
|
|
└── README.md
|
|
```
|
|
|
|
## Development Commands
|
|
|
|
```bash
|
|
# Start development environment
|
|
make dev
|
|
|
|
# Build production images
|
|
make build
|
|
|
|
# Deploy to production
|
|
make deploy
|
|
|
|
# Backend only
|
|
cd backend && npm run dev
|
|
|
|
# Frontend only
|
|
cd frontend && npm run dev
|
|
```
|
|
|
|
## Planned Features
|
|
|
|
- [ ] Real-time GPS tracking for drivers
|
|
- [ ] Flight API integration for live updates
|
|
- [ ] Push notifications for schedule changes
|
|
- [ ] Google Sheets import/export
|
|
- [ ] Mobile-responsive driver app
|
|
- [ ] Advanced scheduling with drag-and-drop
|
|
- [ ] Reporting and analytics
|
|
- [ ] Multi-tenant support
|
|
|
|
## Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create a feature branch
|
|
3. Make your changes
|
|
4. Test thoroughly
|
|
5. Submit a pull request
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License.
|