A full-stack navigation application with voice command capabilities, real-time traffic updates, and incident reporting features. Built with React Native (Expo), Node.js, and Google Maps API.
- 🗺️ Real-time navigation with turn-by-turn directions
- 🎤 Voice command support for navigation and incident reporting
- 🚨 Incident reporting system with severity levels
- 📱 Multi-role support (User, Admin, Delivery)
- 🚚 Delivery mode with route optimization
- 🔄 Alternative route suggestions
- 📊 Admin dashboard for incident management
git clone <repository-url>
cd DeepLLM- Navigate to the backend directory:
cd backend- Install dependencies:
npm install- Create a
.envfile in the backend directory:
PORT=3000
NODE_ENV=development
# Google Maps API Key (Replace with your actual API key)
GOOGLE_MAPS_API_KEY=Your_API_KEY_HERE
GOOGLE_SPEECH_API_KEY=Your_API_KEY_HERE
PORT=3000
NODE_ENV=development
# Database Configuration (if needed later)
# DATABASE_URL=your_database_url
# JWT Secret (if needed for authentication)
JWT_SECRET=YOURSECRETKEYHERE
# Other Configuration
CORS_ORIGIN=http://localhost:19000- Start the backend server:
npm run dev- Navigate to the frontend directory:
cd frontend/NavApp- Install dependencies:
npm install- Create a
config.secret.tsfile in the frontend/NavApp directory:
export const GOOGLE_MAPS_API_KEY = 'your_google_maps_api_key';
export const API_URL = 'http://your_pc_ipaddress:3000';- Update the Google Maps API key in
app.json:
{
"expo": {
"ios": {
"config": {
"googleMapsApiKey": "your_google_maps_api_key"
}
},
"android": {
"config": {
"googleMaps": {
"apiKey": "your_google_maps_api_key"
}
}
}
}
}Create a .env file in the root directory /NavApp:
GOOGLE_MAPS_API_KEY=YOURAPIKEY
API_URL=http://your_pc_ipaddress:3000- Configure API Endpoints:
- Update the following files with your PC's IP address:
frontend/NavApp/app/admin/users.tsx(line 21)frontend/NavApp/app/admin/incidents/[id].tsx(line 34)frontend/NavApp/app/admin/incidents.tsx(line 24)
- Replace
http://your_pc_ipaddress:3000with your actual IP address - Example: If your PC's IP is 192.168.1.100, use
http://192.168.1.100:3000 - Make sure your backend server is running on this IP address
- Ensure your PC and mobile device are on the same network
- Update the following files with your PC's IP address:
5. Start the frontend development server:
```bash
npm expo start --tunnel
Create a .env file in the root directory:
GOOGLE_MAPS_API_KEY=your_google_maps_api_key
API_URL=http://your_pc_ipaddress:3000
Important: Replace
your_pc_ipaddresswith your actual IP address in all configuration files. You can find your IP address by:
- Windows: Run
ipconfigin Command Prompt- macOS/Linux: Run
ifconfigorip addrin Terminal- Make sure to use the IP address of your computer on the local network
- Google Maps API
- Enable the following APIs in Google Cloud Console:
- Maps SDK for Android
- Maps SDK for iOS
- Directions API
- Places API
- Geocoding API
- Distance Matrix API
- Google Cloud Speech to Text
- Enable the following APIs in Google Cloud Console:
DeepLLM/
├── backend/
│ ├── src/
│ │ ├── routes/
│ │ ├── models/
│ │ ├── middleware/
│ │ └── utils/
│ └── index.js
├── frontend/
│ └── NavApp/
│ ├── app/
│ ├── components/
│ ├── config/
│ └── assets/
└── README.md
npm start: Start the backend servernpm run dev: Start the backend server in development modenpm test: Run backend tests
npm start: Start the Expo development servernpm run android: Run on Android device/emulatornpm run ios: Run on iOS simulator (macOS only)npm run web: Run in web browser
- "Navigate to [location]"
- "Report [incident type] with [severity] severity"
- "Find alternative route"
- "Stop navigation"
- "Close road [road name] from [start] to [end]"
- "Open road [road name]"
- "Check traffic at [location]"
- "Add delivery stop at [location]"
- "Calculate optimized route"
- "Start delivery navigation"
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue in the GitHub repository or contact the maintainers.
- Google Maps Platform
- Expo
- React Native
- MongoDB