Skip to content

Commit 7636d3d

Browse files
update readme.md file
1 parent 783c10a commit 7636d3d

19 files changed

+86
-12
lines changed

README.md

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,90 @@
1-
# bus_reservation
1+
# Flutter Bus Reservation App with Spring Boot API
22

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.
44

5-
## Getting Started
5+
---
66

7-
This project is a starting point for a Flutter application.
7+
## Table of Contents
88

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)
1018

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+
---
1320

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+
| ![Admin Dashboard](link_to_admin_dashboard_screenshot) | ![User Bus Search](link_to_bus_search_screenshot) |
52+
53+
| Reservation List | User Profile |
54+
| ---------------- | ------------ |
55+
| ![Reservation List](link_to_reservation_list_screenshot) | ![User Profile](link_to_user_profile_screenshot) |
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+

lib/pages/login_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ class _LoginPageState extends State<LoginPage> {
3636
Padding(
3737
padding: const EdgeInsets.all(32.0),
3838
child: Text(
39-
'Admin Login',
39+
'User Login',
4040
textAlign: TextAlign.center,
4141
style: Theme.of(context).textTheme.headlineMedium,
4242
),

lib/pages/my_reservation_page.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class _MyReservationPageState extends State<MyReservationPage> {
4444
Widget build(BuildContext context) {
4545
return Scaffold(
4646
appBar: AppBar(
47-
title: const Text('Reservation List'),
47+
title: const Text('My Reservation'),
4848
),
4949
body: isLoading
5050
? const Center(child: CircularProgressIndicator()) // Show loading spinner

screen_shot/Login.png

70.4 KB
Loading

screen_shot/add_bus.png

156 KB
Loading

screen_shot/add_city.png

99.4 KB
Loading

screen_shot/add_schedule.png

94.6 KB
Loading

screen_shot/admin_drawer.png

84.3 KB
Loading

screen_shot/admin_login.png

71.9 KB
Loading
234 KB
Loading

0 commit comments

Comments
 (0)