This project is a complete travel application, consisting of a Flutter frontend and a Node.js backend. The backend handles tasks such as file uploads, data management, and API endpoints, while the frontend provides a user-friendly interface for interaction. The application integrates Cloudinary for file uploads and is deployed on AWS, ensuring scalability and security.
- Clone the repository:
git clone https://github.com/your-username/your-repo.git
- Navigate to the
backenddirectory:cd your-repo/backend - Install dependencies:
npm install
- Navigate to the
appdirectory:cd your-repo/app - Install Flutter dependencies:
flutter pub get
- Create a
.envfile in thebackenddirectory and add the following environment variables mention in.env.examplefile in respective folder:
- Update the API endpoint in the Flutter app to point to your backend server. This can typically be done in a configuration file or a constants file.
- Start the server:
npm start
- The server will be running on
http://localhost:5000.
- Run the Flutter app:
flutter run
- The app will be running on your connected device or emulator.
POST /api/v1/auth/register- Register a new user.POST /api/v1/auth/login- Login a user.
GET /api/v1/profile- Get user profile.PUT /api/v1/profile- Update user profile.
GET /api/v1/admin/users- Get all users (admin only).
POST /api/v1/owner/buses- Add a new bus (owner only).
GET /api/v1/universal/stops- Get all stops.
POST /api/v1/upload- Upload an image to Cloudinary.
- Node.js: JavaScript runtime.
- Express.js: Web framework for Node.js.
- MongoDB: NoSQL database.
- Mongoose: ODM for MongoDB.
- Flutter: UI toolkit for building natively compiled applications.
- Cloudinary: Cloud-based image and video management.
- GitHub Actions: CI/CD pipelines.
- AWS: Deployment platform (EC2, S3, RDS).
This project is deployed on AWS, leveraging the following services:
- EC2: For server hosting.
- S3: For static file storage.
- RDS: For managed database services.
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE file for details.