Voyageur is a mobile application designed to simplify group trip planning through advanced cloud computing solutions. This includes real-time collaboration, secure data management, and robust backend infrastructure.
-
Service Layer:
- Node.js + Express: Backend APIs for processing requests.
- Model Integration: Machine learning models for personalized recommendations.
-
Deployment Pipeline:
- Artifact Registry: Stores containerized applications.
- Cloud Build: Automates the CI/CD process for deployments.
- Cloud Run: Serverless infrastructure for backend services.
-
Data Storage:
- Firestore: NoSQL database for real-time data synchronization.
- Cloud Storage: Media and file storage for user uploads.
-
Real-Time Collaboration:
Firestore enables seamless synchronization across devices. -
Automated CI/CD:
Using Artifact Registry and Cloud Build, every deployment is fast, secure, and efficient. -
Secure Data Handling:
Backend APIs deployed on Cloud Run ensure scalability and reliability. -
Machine Learning:
Integrated models recommend destinations and activities based on user preferences.
root/
βββ config/ # Database configuration
β βββ db.js # Database connection setup
βββ controllers/ # Backend controllers for API logic
β βββ authController.js # Handles user authentication
β βββ cityController.js # Handles city-related API requests
β βββ placesController.js # Manages place-related operations
β βββ preferencesController.js # Handles user preferences
β βββ recommendationController.js # Provides recommendations
β βββ tripController.js # Manages trip planning features
β βββ userController.js # Handles user-related operations
βββ middleware/ # Middlewares for request validation and processing
β βββ authMiddleware.js # Authentication middleware
βββ routes/ # Route definitions for the APIs
β βββ authRoutes.js # Authentication routes
β βββ cityRoutes.js # City-related routes
β βββ placesRoutes.js # Place-related routes
β βββ preferencesRoutes.js # Preferences-related routes
β βββ recommendationRoutes.js # Recommendation routes
β βββ tripRoutes.js # Trip-related routes
β βββ userRoutes.js # User-related routes
βββ utils/ # Utility functions and scripts
β βββ process_dataset.js # Dataset processing logic
βββ .env # Environment variables
βββ app.js # Main application entry point
βββ Dockerfile # Docker configuration
βββ package-lock.json # Locked dependencies
βββ package.json # Node.js dependencies and scripts
βββ README.md # Project documentation
