
introduce the instructor hadi and the course on building a flutter app with rest api, payment gateways, firebase, and openai api, with links to youtube and discord.
This flutter app demonstrates a chat interface powered by the OpenAI API, sending messages and receiving model-driven responses with a loader, and allows model switching for different results.
Access the full Flutter chat app code on GitHub, with master and lecture-specific branches and direct source links on the Udemy page, presented as a video walkthrough.
Discover essential tricks for navigating the build ChatGPT app in Flutter course, adjust video speed and resolution, and access lecture resources with source code.
Set up the Flutter app, add packages (http, provider, flutter spin kit, animated text kit) to pubspec.yaml, and run flutter packages get to enable a chat-like interface with a loader.
set up flutter app structure, add assets and pubspec references, configure dark and light themes, and create folders and an assets manager for images to build the chat screen.
Start building the chat screen in a Flutter app by configuring the app bar with a logo, adding ListView for messages, and implementing a text field with a send button.
Learn to build a chat widget in flutter, rendering chat messages from a list of maps, with user and bot messages, images, text, and like/dislike actions.
Implement a modal bottom sheet in a Flutter app to select the model, featuring a text display, a model dropdown, padding, background color, and rounded corners.
Split UI logic from widgets by moving to a services class with a static showModelSheet method to display bottom sheet, then implement dropdown button using dummy model data and constants.
Explore how to integrate the OpenAI API into a flutter app by configuring the base URL, API key, headers, and JSON body, and test endpoints with Postman.
Create an API service function in Flutter to fetch OpenAI models via HTTP get, using URI and authorization header, decode JSON, handle errors, and prepare response data for display.
Create a models model class in Dart, implement a factory from JSON, and wire an API service to return a list of models from snapshot data, with error handling.
Using a FutureBuilder, this lecture fetches and displays all models in a dropdown, with error handling and null checks, and introduces provider state management to save the selected model.
Create a models provider with change notifier, expose a models list and a current model, and update listeners when the current model changes.
Implement the chats model and allow users to send messages via the OpenAI API. Build API service to post JSON requests, parse the choices text, and update the chat UI.
Master displaying sent and received chat messages in a Flutter app by building a chat list, sending messages with a provider model, updating state, and managing focus and scrolling.
Learn to auto scroll a Flutter chat list to the end using a scroll controller, attached to ListView.builder, and animated to max scroll extent.
Learn to animate bot responses in a flutter chat widget using animated_text_kit, TyperAnimatedText, and custom text style with white color, font weight 700, and controlled repetition.
Implement a chat provider in flutter to manage chat messages across screens, with add user message and send message functions that call OpenAI API models and notify listeners.
Show errors with a red snack bar via scaffold messenger, prevent sending empty messages by validating the text controller, and log model IDs to verify model selection.
Fix weird responses in a Flutter chat app by improving how messages are handled. Enforce single-message sending with a typing flag to prevent spamming.
Explore the new chat gpt-3.5 turbo, and test them in postman with post requests, bearer token authentication, and chat messages format for applications.
Integrate the OpenAI API into your flutter app by wiring the API service to send messages and read content from responses, and set a GPT model as the main model.
Fix the text animation by introducing a boolean flag to toggle animated text in the chat widget, animating only the last message while others render normally in the Flutter app.
Enable multi-language support by decoding responses with utf-8 and body bytes to correctly render Arabic, Turkish, Chinese, Korean, and other languages.
learn to change the flutter app launcher icon using flutter_launcher_icons, add assets/images, configure pubspec, run flutter pub get, and adjust minimum sdk to 19 to apply the change.
Configure a native splash screen in flutter by adding the flutter native splash package, updating pubspec, and generating splash assets to replace the white launch screen.
Important NOTE: This course is not a data science course, this course is relying on the OpenAI API which is the App that created ChatGPT.
This course covers how to integrate the Rest API in a Flutter application.
The course mostly focuses on the REST API integration in Flutter
Course prerequisites:
Basic knowledge in programming to get started
A basic understanding of Flutter and good knowledge are recommended
How this course can be of help:
Gaining more knowledge in Flutter and Rest API integration
Building a ChatBOT App
HTTP requests
JSON serialization
Automatic list scrolling
Error Handling
Clean and Clear design
The minimum amount of code, with Provider state management
What's in the course:
Provider State management
Clean code and avoid Boilerplate code
Managing and updating packages
ListViews
Theming
Flutter general AppBar
Flutter Material Design
Flutter ListView Builder
Course structure:
approximately 3 hours of content and updated regally
Requirements:
Windows application development OR Mac application development
Access to a computer with an internet connection.
and you are ready for the journey
love learning about applying cutting-edge algorithms to practical cases!
What Should I Expect After this Course?:
The ability to build functional apps
New information regarding Flutter And API integration
Note that the course builds on windows, so I didn't have a chance to cover the IOS configurations! But feel free to ask anything about it. I will be there to help.