{"id":22680124,"url":"https://github.com/coderooz/vehiclebookingapp","last_synced_at":"2025-03-29T13:43:15.295Z","repository":{"id":263212611,"uuid":"889684313","full_name":"coderooz/VehicleBookingApp","owner":"coderooz","description":"This guide provides step-by-step instructions for setting up and running a multi-platform vehicle booking service application. The app includes a front-end built with React and Expo for web, Android, and iOS, and a back-end using Node.js and MongoDB.","archived":false,"fork":false,"pushed_at":"2025-03-27T07:37:54.000Z","size":160,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T08:33:03.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coderooz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-17T00:15:13.000Z","updated_at":"2024-11-17T01:22:59.000Z","dependencies_parsed_at":"2024-11-17T02:26:19.786Z","dependency_job_id":"4d65456f-5546-4381-85cc-bbeaf9e135ef","html_url":"https://github.com/coderooz/VehicleBookingApp","commit_stats":null,"previous_names":["coderooz/vehiclebookingapp"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FVehicleBookingApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FVehicleBookingApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FVehicleBookingApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coderooz%2FVehicleBookingApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coderooz","download_url":"https://codeload.github.com/coderooz/VehicleBookingApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246193156,"owners_count":20738450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T19:12:27.644Z","updated_at":"2025-03-29T13:43:15.263Z","avatar_url":"https://github.com/coderooz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vehicle Booking Service App Documentation  \n\nThis guide provides step-by-step instructions for setting up and running a multi-platform vehicle booking service application. The app includes a front-end built with React and Expo for web, Android, and iOS, and a back-end using Node.js and MongoDB.\n\n---\n\n## Prerequisites  \n\n### General Requirements  \n- Node.js (v16 or higher)  \n- npm (Node Package Manager) or Yarn  \n- MongoDB installed locally or access to a MongoDB Atlas cluster  \n- Expo CLI (`npm install -g expo-cli`)  \n- A modern code editor (e.g., Visual Studio Code)  \n\n### For Running the Mobile App  \n- Expo Go app (for testing on mobile devices)  \n- Android Studio and/or Xcode for emulators (optional)  \n\n---\n\n## Steps to Set Up the Project  \n\n### 1. Clone the Repository  \nClone the project repository to your local machine:  \n```bash  \ngit clone \u003crepository-url\u003e  \ncd vehicle-booking-app  \n```  \n\n### 2. Set Up the Client  \n\n1. Navigate to the `client` directory:  \n   ```bash  \n   cd client  \n   ```  \n\n2. Install the required dependencies:  \n   ```bash  \n   npm install  \n   ```  \n\n3. Start the Expo server for development:  \n   ```bash  \n   npm start  \n   ```  \n\n4. Scan the QR code using the Expo Go app to run the app on your mobile device or choose to open the app on a web browser, Android emulator, or iOS simulator.  \n\n---\n\n### 3. Set Up the Server  \n\n1. Navigate to the `server` directory:  \n   ```bash  \n   cd ../server  \n   ```  \n\n2. Install the server dependencies:  \n   ```bash  \n   npm install  \n   ```  \n\n3. Configure the database:  \n   - Open the `config/db.js` file.  \n   - Update the MongoDB connection string if required (e.g., use a MongoDB Atlas connection string or local MongoDB URL).  \n\n4. Start the server:  \n   ```bash  \n   npm start  \n   ```  \n\n   The server will start on `http://localhost:5000`.  \n\n---\n\n## Directory Structure Overview  \n\nThe project has the following main directories:  \n\n- **`client/`**: Contains the React/Expo front-end code.  \n- **`server/`**: Contains the Node.js back-end code.  \n- **`config/`**: Server configuration files, including the database connection setup.  \n- **`routes/`**: Defines API endpoints.  \n- **`controllers/`**: Includes server-side business logic for handling API requests.  \n- **`models/`**: MongoDB schemas for data storage.  \n\n---\n\n## Testing the Application  \n\n1. Open the client-side application using Expo Go, a web browser, or an emulator.  \n2. Navigate to the booking page and enter the destination.  \n3. Book a cab to view the path and travel details.  \n4. Use tools like Postman to test server endpoints (`http://localhost:5000/api`).  \n\n---\n\n## Deployment  \n\n### Front-End (Expo)  \n\n1. Build the application for production:  \n   ```bash  \n   expo build  \n   ```  \n\n2. Follow Expo instructions to generate APK (Android) or IPA (iOS) files for publishing.  \n\n### Back-End  \n\n1. Host the server on a cloud service like AWS, Heroku, or Vercel.  \n2. Ensure the MongoDB database is accessible remotely (e.g., MongoDB Atlas).  \n\n---\n\n## Future Enhancements  \n\n1. Add user authentication for a secure booking experience.  \n2. Implement real-time cab tracking using WebSocket or Firebase.  \n3. Add payment gateway integration.  \n4. Include a rating and feedback feature for rides.  \n\n---\n\n## Troubleshooting  \n\n### Common Issues  \n\n1. **MongoDB Connection Fails**:  \n   - Ensure MongoDB is running locally or the Atlas URI is correctly configured.  \n\n2. **Expo App Does Not Load**:  \n   - Restart the Expo server and ensure the QR code is scanned with the correct network connection.  \n\n3. **CORS Errors**:  \n   - Add appropriate CORS middleware to the server.  \n\n---\n\n## License  \n\nThis project is licensed under the MIT License.  \n\n---  \n\nFor further assistance, contact Ranit Saha a.k.a [Coderooz](https://github.com/coderooz).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderooz%2Fvehiclebookingapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderooz%2Fvehiclebookingapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderooz%2Fvehiclebookingapp/lists"}