- Enhanced globals.css with comprehensive animation system - Added advanced map marker animations (GPS, parking) - Improved button and filter animations with hover effects - Added new UI components: BookingModal, ParkingDetails, WheelPicker - Reorganized project structure with better documentation - Added optimization scripts and improved development workflow - Updated deployment guides and technical documentation - Enhanced mobile responsiveness and accessibility support
202 lines
5.0 KiB
Markdown
202 lines
5.0 KiB
Markdown
# 📂 Scripts Directory
|
|
|
|
This directory contains all the deployment and development scripts for Smart Parking Finder.
|
|
|
|
## 📋 Available Scripts
|
|
|
|
### 🚀 Main Scripts
|
|
|
|
| Script | Purpose | Usage |
|
|
|--------|---------|--------|
|
|
| **start.sh** | 🎯 Interactive menu with all options | `./scripts/start.sh` |
|
|
| **frontend-only.sh** | 🎨 Start frontend only (fastest) | `./scripts/frontend-only.sh` |
|
|
| **full-dev.sh** | 🔄 Full development environment | `./scripts/full-dev.sh` |
|
|
| **docker-dev.sh** | 🐳 Docker development with all services | `./scripts/docker-dev.sh` |
|
|
| **setup.sh** | 🛠️ Initial project setup | `./scripts/setup.sh` |
|
|
|
|
### 🎯 Quick Access from Root
|
|
|
|
From the project root directory, you can use:
|
|
|
|
```bash
|
|
# Interactive launcher with quick options
|
|
./launch.sh
|
|
|
|
# Direct script access
|
|
./scripts/start.sh
|
|
./scripts/frontend-only.sh
|
|
./scripts/full-dev.sh
|
|
./scripts/docker-dev.sh
|
|
./scripts/setup.sh
|
|
```
|
|
|
|
## 📖 Script Details
|
|
|
|
### 1. start.sh - Interactive Menu
|
|
**Purpose**: Provides a colorful interactive menu with all deployment options.
|
|
|
|
**Features**:
|
|
- Frontend only deployment
|
|
- Network access (other devices on WiFi)
|
|
- Global access (via ngrok)
|
|
- Full development environment
|
|
- Docker development environment
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/start.sh
|
|
# Follow the interactive menu (options 1-6)
|
|
```
|
|
|
|
### 2. frontend-only.sh - Quick Demo
|
|
**Purpose**: Fastest way to see the application interface.
|
|
|
|
**What it does**:
|
|
- Installs frontend dependencies (if needed)
|
|
- Starts Next.js development server on http://localhost:3000
|
|
- No backend required
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/frontend-only.sh
|
|
```
|
|
|
|
**Note**: Some features may not work without backend.
|
|
|
|
### 3. full-dev.sh - Complete Development
|
|
**Purpose**: Start both frontend and backend for full functionality.
|
|
|
|
**What it does**:
|
|
- Installs both frontend and backend dependencies
|
|
- Starts NestJS backend on http://localhost:3001
|
|
- Starts Next.js frontend on http://localhost:3000
|
|
- Runs both in parallel
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/full-dev.sh
|
|
```
|
|
|
|
**Requirements**: Node.js 18+
|
|
|
|
### 4. docker-dev.sh - Full Environment
|
|
**Purpose**: Complete development environment with all services.
|
|
|
|
**What it includes**:
|
|
- Frontend (Next.js) on http://localhost:3000
|
|
- Backend (NestJS) on http://localhost:3001
|
|
- PostgreSQL database on localhost:5432
|
|
- Redis cache on localhost:6379
|
|
- Valhalla routing engine on localhost:8002
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/docker-dev.sh
|
|
```
|
|
|
|
**Requirements**: Docker Desktop
|
|
|
|
### 5. setup.sh - Initial Setup
|
|
**Purpose**: One-time setup for new developers.
|
|
|
|
**What it does**:
|
|
- Checks Node.js and npm installation
|
|
- Installs frontend dependencies
|
|
- Installs backend dependencies
|
|
- Makes all scripts executable
|
|
- Provides next steps
|
|
|
|
**Usage**:
|
|
```bash
|
|
./scripts/setup.sh
|
|
```
|
|
|
|
## 🔧 Script Features
|
|
|
|
### Error Handling
|
|
All scripts include:
|
|
- ✅ Prerequisite checking (Node.js, Docker, etc.)
|
|
- ✅ Graceful error messages
|
|
- ✅ Cleanup on exit (Ctrl+C)
|
|
- ✅ Colored output for better readability
|
|
|
|
### Auto-Installation
|
|
Scripts automatically:
|
|
- 📦 Install npm dependencies if not present
|
|
- 🔧 Make scripts executable
|
|
- ⚡ Start services in the correct order
|
|
|
|
### Cross-Platform Support
|
|
Scripts are designed for:
|
|
- 🍎 macOS (primary)
|
|
- 🐧 Linux
|
|
- 🪟 Windows (via Git Bash/WSL)
|
|
|
|
## 🎨 Color Coding
|
|
|
|
Scripts use consistent color coding:
|
|
- 🔵 **Blue**: Information and headers
|
|
- 🟢 **Green**: Success messages and URLs
|
|
- 🟡 **Yellow**: Warnings and tips
|
|
- 🔴 **Red**: Errors and problems
|
|
- 🟦 **Cyan**: Special highlights
|
|
|
|
## 🚀 Getting Started
|
|
|
|
### First Time Setup
|
|
```bash
|
|
# 1. Run initial setup
|
|
./scripts/setup.sh
|
|
|
|
# 2. Choose your development style:
|
|
# Quick demo
|
|
./scripts/frontend-only.sh
|
|
|
|
# Full development
|
|
./scripts/full-dev.sh
|
|
|
|
# Complete environment
|
|
./scripts/docker-dev.sh
|
|
|
|
# Interactive menu
|
|
./scripts/start.sh
|
|
```
|
|
|
|
### Daily Development
|
|
```bash
|
|
# Most common: Start frontend only for quick testing
|
|
./scripts/frontend-only.sh
|
|
|
|
# When working on backend: Full development
|
|
./scripts/full-dev.sh
|
|
|
|
# When testing integrations: Docker environment
|
|
./scripts/docker-dev.sh
|
|
```
|
|
|
|
## 🔄 Migration from Old Scripts
|
|
|
|
The old scripts have been reorganized:
|
|
|
|
| Old Script | New Script | Status |
|
|
|------------|------------|---------|
|
|
| `start.sh` | `scripts/start.sh` | ✅ Enhanced with better UI |
|
|
| `start-frontend-only.sh` | `scripts/frontend-only.sh` | ✅ Renamed and improved |
|
|
| `start-dev.sh` | `scripts/docker-dev.sh` | ✅ Moved and enhanced |
|
|
| `start-local.sh` | `scripts/full-dev.sh` | ✅ Renamed for clarity |
|
|
| `start-global.sh` | Part of `scripts/start.sh` | ✅ Integrated into menu |
|
|
| `start-network.sh` | Part of `scripts/start.sh` | ✅ Integrated into menu |
|
|
| `setup.sh` | `scripts/setup.sh` | ✅ Moved and enhanced |
|
|
|
|
## 📞 Support
|
|
|
|
If you encounter issues with any script:
|
|
1. Check the colored error messages
|
|
2. Ensure prerequisites are installed
|
|
3. Run the setup script: `./scripts/setup.sh`
|
|
4. Check the main documentation in `Documents/README.md`
|
|
|
|
---
|
|
|
|
*All scripts are located in the `scripts/` directory for better organization.*
|