A modern logistics and delivery management platform built with React, TypeScript, Firebase, and Node.js. Streamline delivery operations with real-time tracking, driver management, and customer analytics.
View Live Demo - Experience the platform in action
- Project Overview
- Tech Stack
- Key Features
- Getting Started
- Local Development
- Firebase Deployment
- API Documentation
LogiTech is a comprehensive delivery management system designed to streamline logistics operations for businesses of all sizes. The platform provides real-time tracking, intelligent route optimization, driver management and customer analytics.
- π Real-time Tracking: Monitor deliveries with GPS tracking
- π₯ Driver Management: Efficient driver assignment and performance tracking
- π± Mobile Responsive: Works seamlessly on all devices
- π Smart Notifications: Automated alerts for delivery updates
- π Analytics Dashboard: Comprehensive operational insights
- π³ Integrated Payments: Razorpay payment processing
- πΌοΈ Image Upload: Cloudinary integration for delivery photos
- πΊοΈ Route Optimization: Intelligent route planning
- React 18 - Modern UI framework with hooks
- TypeScript - Type-safe JavaScript
- Vite - Fast development build tool
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Modern component library
- React Router - Client-side routing
- React Hook Form - Form management
- Lucide React - Beautiful icons
- Node.js - JavaScript runtime
- Express.js - Web application framework
- TypeScript - Type-safe backend development
- Firebase Functions - Serverless backend
- Firebase Realtime Database - Real-time data synchronization
- Firebase Realtime Database - NoSQL real-time database
- Firebase Authentication - User authentication
- Firebase Hosting - Static site hosting
- Cloudinary - Image storage and optimization
- Razorpay - Payment processing
- Leaflet.js - Mapping and location services
- Driver Registration: Add and manage delivery drivers
- Real-time Location Tracking: GPS-based driver location monitoring
- Performance Analytics: Driver rating and delivery statistics
- Auto-sharing: Automatic location sharing with customers
- Status Management: Available, busy, offline driver status
- Booking Creation: Create and manage delivery bookings
- Route Planning: Intelligent route optimization
- Real-time Tracking: Live shipment tracking
- Customer Details: Complete customer information management
- Status Updates: Real-time delivery status notifications
- Comprehensive Analytics: Overview of all operations
- Customer Management: Customer data and insights
- Vehicle Management: Fleet management and assignment
- Revenue Tracking: Financial analytics and reporting
- Responsive Design: Works on all devices
- Real-time Updates: Live data synchronization
- Intuitive Interface: User-friendly design
- Fast Performance: Optimized for speed
- Firebase Auth: Secure user authentication
- Role-based Access: Admin, driver, and customer roles
- Secure APIs: Protected backend endpoints
- Data Validation: Input sanitization and validation
- Razorpay Integration: Secure payment processing
- Multiple Payment Methods: Credit cards, UPI, wallets
- Transaction History: Complete payment records
- Refund Management: Automated refund processing
- Cloudinary Integration: Optimized image storage
- Photo Upload: Delivery proof photos
- Image Processing: Automatic optimization
- CDN Delivery: Fast image loading
- Node.js (v18 or higher)
- npm or yarn
- Firebase account and project
- Git for version control
-
Clone the repository
git clone https://github.com/SURIYA-PRAKASH-E-S/LogiTech.git cd LogiTech -
Install dependencies
# Install main dependencies npm install # Install server dependencies cd server && npm install && cd .. # Install functions dependencies cd functions && npm install && cd ..
-
Environment Setup
# Copy environment template cp .env.example .env # Edit .env with your configuration
-
Firebase Setup
# Install Firebase CLI npm install -g firebase-tools # Login to Firebase firebase login # Initialize Firebase firebase init
Create a .env file in the root directory using .env.example as template:
# Environment Configuration
VITE_ENVIRONMENT=development
VITE_PRIMARY_API=http://localhost:3001
VITE_FALLBACK_API=http://localhost:3001
# Firebase Configuration
VITE_FIREBASE_API_KEY=your_firebase_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_DATABASE_URL=https://your_project-default-rtdb.firebaseio.com/
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.firebasestorage.app
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
# Cloudinary Configuration
CLOUDINARY_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_SECRET=your_cloudinary_secret
# Server Configuration
PORT=3001
NODE_ENV=developmentnpm run dev:fullThis starts both the React app and TypeScript server simultaneously:
- React app at
http://localhost:5173 - Server at
http://localhost:3001
React App Only:
npm run devAccess at: http://localhost:5173
Server Only (TypeScript):
cd server && npm run devServer runs at: http://localhost:3001
-
Start Development Server
npm run dev:full
-
Make Changes
- Edit React components in
src/ - Modify server logic in
server/ - Update Firebase functions in
functions/
- Edit React components in
-
Test Changes
- Browser auto-reloads for React changes
- Server restarts for TypeScript changes
- Functions recompile on save
-
Debug Issues
- Check browser console for frontend errors
- Monitor server terminal for backend issues
- Use Firebase Console for database problems
# Build the frontend
npm run build
# Deploy only hosting (no functions)
npm run firebase:deploy:hosting
# Deploy database rules only
npm run firebase:deploy:database
# Deploy hosting and database (no functions)
npm run firebase:deploy:all
# Build and deploy hosting in one command
npm run build:firebase# Build React app
npm run build
# Build Firebase functions
cd functions && npm run build && cd ..# Deploy hosting and database
firebase deploy --only hosting,database
# Deploy only hosting
firebase deploy --only hosting
# Deploy database rules
firebase deploy --only databaseSet Firebase environment variables for production:
firebase functions:config set \
cloudinary.name="your_cloudinary_name" \
cloudinary.api_key="your_api_key" \
cloudinary.secret="your_secret" \
razorpay.key_id="your_key_id" \
razorpay.key_secret="your_key_secret"POST /api/auth/login- User loginPOST /api/auth/register- User registrationPOST /api/auth/logout- User logout
GET /api/drivers- Get all driversPOST /api/drivers- Create new driverPUT /api/drivers/:id- Update driverDELETE /api/drivers/:id- Delete driver
GET /api/bookings- Get all bookingsPOST /api/bookings- Create bookingPUT /api/bookings/:id- Update bookingGET /api/bookings/:id/tracking- Get booking tracking
POST /api/upload-image- Upload image to Cloudinary
POST /api/payment/create- Create Razorpay orderPOST /api/payment/verify- Verify payment
updateDriverLocation- Update driver GPS locationshareDriverLocation- Share location with customergetDriverLocation- Get driver current location
createBooking- Create new bookingupdateBookingStatus- Update booking statusassignDriver- Assign driver to booking
sendNotification- Send push notificationupdateCustomer- Update customer details
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2026 LogiTech Logistics Management System
Built with β€οΈ by the My Team