
Learn to build a Flutter search page with a scaffold, app bar, and a form containing two dropdown button form fields for selecting start and end cities, with validation.
Learn to build a Flutter search row with padding and a wide elevated button, use a global form key, validate two dropdowns, and show a departure date snackbar.
Define named routes with routes map, navigate from search page to search results page using pushNamed, and pass route and departure date in a list retrieved via modal route arguments.
Display bus schedules for a route in a Flutter app, showing bus name, type, departure date, and price, while fetching data asynchronously via a provider and route name.
Set up the seat plan page and navigate from a schedule item to the site plan page by passing the schedule and date, using a stateful layout with value notifier.
Build a dynamic seat plan view and seat widget in Flutter, using rows and columns in a scrollable view with stateful seats and neomorphic colors for available, selected, and booked.
Create a seat plan view in flutter by building a stateless seat arrangement widget with total seats, booked seat numbers, and business class flag, rendering rows and columns.
Thanks to one of my student Sinh Le Xuan for pointing out the missing piece between lecture 17 and 18. This lecture and and next one I just added are newly recorded and I hope these will fill the gap.
Learn to save a seat reservation on the seat plan page in Flutter with Spring Boot by building a customer and bus reservation, using a dummy data source.
Learn to implement a navigation drawer in flutter, enabling admin workflows to add bus, route, and schedule data, with a reservation view featuring an expandable list and time picker integration.
Learn how expansion panel list in Flutter works with header and body sections, an expanded state toggle, and item generation from a reservation model using dedicated header and body classes.
Explore how Spring Boot simplifies building production-grade Java applications with auto-configuration and an embedded Tomcat server, and learn to generate projects with Spring Initializr and Spring Web for REST endpoints.
Build rest endpoints in Spring Boot using path variables and get mapping to return json for a player pojo and a list of players.
Create a Spring Boot project from Spring Initializr with Lombok, Spring Web, Spring Data JPA, and MySQL driver, then build pojo entities like Bus using Lombok to reduce boilerplate.
Install and configure a local MySQL database, create the reservation schema, connect with Spring Boot via application.properties, and prepare entities and tables such as bus for the reservation backend.
Learn to implement a generic response model in Spring Boot, returning status codes, messages, and inserted objects (T) for operations like adding a bus, instead of raw strings.
Defines a bus route entity and table bus_route. Implements a JPA repository with find by route name and by city from and city to, a Spring Boot service and controller.
Test bus route APIs with Postman: add routes, fetch all routes, and query by route name or city pair, using Spring Boot controllers, services, and MySQL persistence.
Define a rest controller for bus schedule APIs with add, get all, and get by route name under /api/schedule, and verify them with Postman.
Fixes a backend reservation bug by correcting json property names, adding @RequestBody in the bus schedule controller, and leveraging JPA to fetch full bus and route objects without explicit joins.
Configure a security filter chain to distinguish open and restricted APIs by permitting all get requests and requiring authentication for others, using http security, request matchers, and basic authentication.
Explain a Flutter and Spring Boot authentication flow with json web tokens. Validate admin credentials, issue and store a jwt, and send it in authorization headers for each request.
Create a JWT auth filter that intercepts requests, retrieves a bearer token from the authorization header, validates it, loads user details, and updates the security context before the filter chain.
Update spring boot to 3.1.2 and refactor the security config to replace deprecated csrf and authorize http request with lambda or method reference, enabling admin login and JWT token.
Connect the Spring Boot backend to the Flutter app for admin login using HTTP and shared preferences, handling app user model, toJson/fromJson, and auth response.
Master Flutter admin login with spring boot API, troubleshoot responses and mapping, and prepare subsequent rest APIs using fromJson and the freezed library for automatic code generation.
Develop add bus API integration in Flutter, posting bus data to Spring Boot and using a response model. Handle authorization via token headers and express errors through error details model.
Implement the add route API in a flutter with spring boot app by mirroring the add bus flow, including url setup, auth headers, response modeling, and ui integration for schedules.
Launches api-driven search flow by collecting the start and end destination and a departure date, fetching a route object, and passing it to the search results page to retrieve schedules.
Learn api integration to save reservations from Flutter to a Spring Boot backend, using schedule id and departure date to post bookings and guide seat plan and confirmation.
Implement a reservation list page by fetching all reservations and filtering by mobile via api endpoints, with admin search and user versus admin views; note this is a prototype.
Hello and welcome everyone to this course. If you want to build a mobile application that targets both Android and iOS and also create a backend for your application, you are in the right place. This course is all about bringing two big frameworks altogether – Flutter and Spring Boot. Throughout this course, we will build a mobile application that is backed by Spring Boot. Using Flutter, we will build our UI and we will use Spring Boot to build REST APIs that will be consumed by our Flutter app.
Flutter and Spring Boot are two big players in the industry. Flutter took no time to become one of the most popular Mobile Apps development framework for its simplicity, easy to learn and multiplatform features while Spring Boot is a proven horse in the long race. Getting skilled according to market demand is every developer’s dream and to become a skilled person in any field takes considerable amount of time. To build a successful production level project, you may have to join many pieces together and go through a series of observations and considerations. Selecting the most suitable platform for your project is a big thing because there’re many eligible candidates out there in the market. Almost every mobile apps require a backend to persist, store it’s data and microservices. Learning different framework is time consuming, learning curve may differ significantly. Wouldn’t that be wonderful if you are introduced with the two most demanding framwork from scratch in a single course? That’s why you are here and this course is just for you.
Flutter and Spring Boot are two big frameworks, getting skilled in each environment requires time. Combining these two in a single course was a bit challenging. Besides, putting more features from both the framework in the course could increase it’s length and could be a burden. For this reason, I have put minimum but most basic features from both the framework and tried to build an app by leveraging the power of both of them. By taking this course, you will have a better and strong understanding in both Flutter and Spring Boot. Besides, Dart and Java have many similarities between them. This will give you an advantage to learn both the languages in parallel. I hope you will get the best out of this course, you will learn how to build Flutter apps from scratch and also how to make a RESTFul service with Spring Boot. You will start as a beginner, and at the end of the course, you will be confident enough to go beyond your capabilities by yourself.
We will build one single project throughout this course, and that will be a Bus Ticket Booking or Seat Reservation app where app users will search for different routes on a specific day he/she wants to travel, select the suitable schedule, select one or more seats and then submit the reservation. We will have an Admin for our app whose responsibility is to add bus, routes and schedules. We will provide authentication functionalities for our Admin, we will talk about how we can secure our data or end points and authorization, that means, what kind of data our users can access or not.
Although I will start from scratch, assuming you have no prior knowledge in Flutter and Spring Boot, I strongly recommend you to have a little basic knowledge of Dart and Java programming language to get a smoother experience from this course. If you don’t have any experience in Dart and Java, I suggest you to follow any YouTube channel to learn the basics of Dart and Java before you get to start this course. I have been always careful to keep the length of this course as short as possible. It is observed that long courses fails to keep their audiences till the end. You probably have bought other courses but never been able to reach the end. I want my students to have a smooth journey that ends with satisfaction and a bag full of skills and knowledge.
I hope you will enjoy this course and it will add greater values to your skill.