|
1 | | -# bus_reservation |
| 1 | +# Flutter Bus Reservation App with Spring Boot API |
2 | 2 |
|
3 | | -A new Flutter project. |
| 3 | +This project is a **Flutter** mobile application that integrates with a **Spring Boot** backend API to provide a complete bus reservation system. The backend handles the logic for managing buses, routes, reservations, and more, while the Flutter app serves as the frontend for both **Admin** and **User** functionalities. |
4 | 4 |
|
5 | | -## Getting Started |
| 5 | +--- |
6 | 6 |
|
7 | | -This project is a starting point for a Flutter application. |
| 7 | +## Table of Contents |
8 | 8 |
|
9 | | -A few resources to get you started if this is your first Flutter project: |
| 9 | +- [Description](#description) |
| 10 | +- [Features](#features) |
| 11 | +- [Screenshots](#screenshots) |
| 12 | +- [Key Libraries](#key-libraries) |
| 13 | +- [Getting Started](#getting-started) |
| 14 | +- [API Integration](#api-integration) |
| 15 | +- [Contributing](#contributing) |
| 16 | +- [License](#license) |
| 17 | +- [Contact](#contact) |
10 | 18 |
|
11 | | -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) |
12 | | -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) |
| 19 | +--- |
13 | 20 |
|
14 | | -For help getting started with Flutter development, view the |
15 | | -[online documentation](https://docs.flutter.dev/), which offers tutorials, |
16 | | -samples, guidance on mobile development, and a full API reference. |
| 21 | +## Description |
| 22 | + |
| 23 | +This app allows users to search for available buses, make reservations, and manage their bookings. Admins have additional privileges to manage cities, buses, routes, and schedules. The app is powered by a **Spring Boot** backend that provides RESTful APIs for all operations, including user authentication, bus management, and reservation tracking. |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## Features |
| 28 | + |
| 29 | +### Admin Features: |
| 30 | +- **Add/Update/Delete Cities**: Admins can manage cities to define bus routes. |
| 31 | +- **Add/Update/Delete Buses**: Admins can manage the available buses for |
| 32 | + routes and schedules. |
| 33 | +- **Add/Update/Delete Routes**: Admins can define routes connecting cities and manage route information. |
| 34 | +- **View Reservations**: Admins can view all reservations made by users. |
| 35 | +- **Add Schedules**: Admins can schedule buses for different routes and timings. |
| 36 | + |
| 37 | +### User Features: |
| 38 | +- **Search Buses**: Users can search for available buses based on source, destination, and date. |
| 39 | +- **Book a Bus**: Users can reserve seats on buses for a selected route and schedule. |
| 40 | +- **View Profile**: Users can view and update their profile details. |
| 41 | +- **My Reservations**: Users can view their past and upcoming reservations and booking history. |
| 42 | + |
| 43 | +--- |
| 44 | + |
| 45 | +## Screenshots |
| 46 | + |
| 47 | +Include key screenshots of the app’s UI here, such as the following examples: |
| 48 | + |
| 49 | +| Admin Dashboard | User Bus Search | |
| 50 | +| ---------------- | --------------- | |
| 51 | +|  |  | |
| 52 | + |
| 53 | +| Reservation List | User Profile | |
| 54 | +| ---------------- | ------------ | |
| 55 | +|  |  | |
| 56 | + |
| 57 | +--- |
| 58 | + |
| 59 | +## Key Libraries |
| 60 | + |
| 61 | +Here are the core libraries used in the Flutter project to build the frontend and interact with the Spring Boot API: |
| 62 | + |
| 63 | +### Dependencies: |
| 64 | +- **http**: Used to make HTTP requests to the Spring Boot API and interact with backend services. |
| 65 | +- **provider**: A state management solution used to manage the app's state across different parts of the application. |
| 66 | +- **shared_preferences**: This library is used to store persistent data locally, like user login sessions. |
| 67 | +- **freezed_annotation** and **json_annotation**: These libraries are used to generate immutable classes and to handle JSON serialization and deserialization between the app and the API. |
| 68 | +- **flutter_easyloading**: A utility for showing loading indicators during long-running operations such as API calls. |
| 69 | +- **go_router**: Used for managing navigation and routing within the app. |
| 70 | +- **cached_network_image**: Efficiently loads images from the network and caches them locally to optimize performance and reduce bandwidth. |
| 71 | + |
| 72 | +--- |
| 73 | + |
| 74 | +#### Backend (Spring Boot API) |
| 75 | + |
| 76 | +Clone the backend repository: |
| 77 | + ```bash |
| 78 | + git clone https://github.com/Developer199239/spring-boot-bus-reservation-api.git |
| 79 | + ``` |
| 80 | + |
| 81 | +## Contributing |
| 82 | + |
| 83 | +We welcome contributions from developers who want to improve the project! To contribute: |
| 84 | + |
| 85 | +1. Fork the repository. |
| 86 | +2. Create a feature branch: `git checkout -b feature-name`. |
| 87 | +3. Make your changes and commit them: `git commit -m 'Added feature-name'`. |
| 88 | +4. Push to the branch: `git push origin feature-name`. |
| 89 | +5. Open a Pull Request. |
| 90 | + |
0 commit comments