
Join a project-based course to learn real-world cross-platform mobile app development with Dotmobi from start to finish. Build a cinema ticket booking mobile application as your first complete project.
Explore the app overview of a real-world cinema ticket booking app built with .NET MAUI, covering login, now showing and trending movies, movie details, seat selection, and order tracking.
Download and extract the repository from GitHub, open it in Visual Studio, and learn how to consume ASP.NET Core RESTful APIs in the .NET MAUI mobile app.
Create an Azure web app by logging into portal, selecting web app template, configuring a resource group and unique name, deploying code with dotnet version eight, and enabling basic authentication.
Create an Azure SQL database by provisioning a new server, applying a general purpose tier, and configuring firewall rules to allow Azure services for web app access.
Publish your asp.net core rest API to Azure by updating appsettings.json with the Azure SQL connection string, applying migrations, and deploying a self-contained build via a publish profile.
Explore the cinema ticket api endpoints through the provided documentation and Postman, importing the api file and navigating sections for users, movies, screenings, seats, and reservations.
Test user authentication endpoints in Postman by registering and logging in, copy your Azure web app URL, receive an access token, and use it to access secured API endpoints.
Explore movie endpoints in postman, including get movies and get movie detail, using the access token and application URL to fetch now playing, training, and latest movie data.
Use the screening endpoint to fetch screenings by movie ID with a get request, then query the seats endpoint to return seat details and availability for a selected screening.
Explore and test the reservation endpoints to book and view user reservations, using access tokens, user IDs, and seat IDs to manage seat availability and retrieve orders.
Create a new dot movie project using the dot movie application template in Visual Studio on Windows or Mac, and rename it to cinema application with .NET 8 or 7.
Import assets into the .NET MAUI project by unzipping the assets, locating the images folder, and copying the images into resources/images for later use.
Create C# model classes for users and movies from API data and postman endpoints, including register, login, and token responses, with nullability fixes and JSON to C# generation using Newtonsoft.Json.
Create model classes for screenings, seats, and reservations endpoints using json data and a json-to-c# tool, then implement endpoint-specific structures in Visual Studio for a real-world cinema app.
Implement API service layer to register users by serializing a user object to JSON with Newtonsoft.Json, posting it via an HTTP client to the register endpoint, and returning a Task<bool>.
Make the register user method static to streamline access without creating an App service instance, calling it via the class name when it doesn’t rely on instance data.
Create a login method for the api to obtain an access token for authentication and accessing protected resources, using login model serialization, json deserialization, and storing the token in preferences.
Centralize the api url in a single app settings location to simplify updates and prevent errors across login and register methods.
Explore the movies API with Postman, secure calls using bearer tokens retrieved from preferences, implement async methods get movies and get movie detail with HttpClient and JSON deserialization.
Create movie screening and seat endpoints in a .NET MAUI app by implementing get movie screening and get all seats methods that fetch data via api URLs and deserialize json.
Build reservation endpoints to reserve seats and retrieve user reservations, implementing methods that require user id, screening id, and list of sheet ids, forming a query string for the API.
Build a registration page in the dotmobi .NET MAUI app using xaml plus c, capturing name, email, and password and calling the Register User API.
Create and design the login page for the Dotmobi project, wire navigation and API services, and handle login flow from registration to the home page with async navigation.
Configure shell tab pages in a .NET MAUI app, adding home, tickets, and profile tabs and redirecting a logged-in user to the app shell. Customize tab bar colors and icons.
Demonstrates implementing a one time login with an access token stored in preferences, retrieving it at startup, and routing to registration or main page to preserve login across sessions.
Implement the home page by binding the username stored in preferences to a label, retrieve it in the codebehind, and display it when the app runs.
Display trending movies on the home page by calling Get movies method with trending, awaiting results, and binding the returned movie list to the CV training carousel via image URL.
Display now playing and latest movies by binding the image URL and title to the home page collection views, using now playing and latest movies data sources in .NET MAUI.
Enable navigation from the home page's now playing collection to a movie detail page by handling the collection view's selection, passing the movie ID, and pushing the detail page.
Display the movie detail page by showing title, description, and image, fetch details with the movie id via the API service, and enable back navigation with navigation pop modal async.
Implement the read more functionality on the movie detail page of a .NET MAUI app. Toggle between a three-line description and the full text with read more and read less.
Fetches movie screenings by ID from the API, binds them to the collection view, and displays each screening's date and time on the movie detail page.
Pass the selected screening from the movie detail page to the seats page with navigation.push and a parameterized constructor; validate the selection before navigation.
Learn to implement the seats booking flow by selecting a movie and screen time on the search page, choosing seats, and booking tickets with back navigation and screening date.
Display seats data by fetching all seats for a screening and binding the results to an observable collection bound to a collection view, with a loader during the API call.
Implement seat selection using INotifyPropertyChanged by adding isSelected, isAvailable, and setIcon properties, updating seat icons via triggers and binding context in the XAML image button, and handling click events.
Handle the image button click on the sheets page to toggle seat selection. Compute total price from selected seats and update the price label in real time.
Reserve seats by tapping the seats page, call the API service with user id, scanning id, and seat IDs, then refresh seats and show success or failure alerts.
Welcome to the Real World Cinema Ticket Booking App Development course with .NET MAUI.
I'm Asfend Microsoft Most Valuable Professional (MVP) as well as the Xamarin University Most Valuable Professional and in this course I'll explain you every single aspect of real world application in .NET MAUI. Yeah I know there're lot of courses over internet but there's never a single guide that teaches you how to create a real world application. And the purpose of this course is to train you to build your own Real world Application in .NET MAUI.
This courses teaches you how to code using .NET MAUI and build beautiful Android and iOS apps by using .NET MAUI.
By getting this course, you can be rest assured that the course is carefully thought out and edited. And I'm always happy to answer student questions.
So by the end of the course, you'll completely understand:
How to build a real world application with .NET MAUI
Deploy Rest Api's to Microsoft Azure
Consume Restful Api's.
Consume Nuget's in .NET MAUI
Create a Complete Real World (Cinema Ticket Booking) Application in .NET MAUI From Scratch to End.
How to make asynchronous API calls, store and retrieve data from the api, and use the JSON format for server communication
Make application user friendly
Working with Collection View and much more
Remember...
After this course you'll get all the .NET MAUI Real World Application Source Code and along with this I'll also share a Complete Backend Code for the Rest Api's with you.
In this course I've used the Microsoft Azure for Api Deployment which means you must have a Microsoft Azure Account to publish the web api's.
So what are you waiting for? Click the buy now button and join the Complete Real World Cinema Ticket Booking App Development Course with .NET MAUI.