Welcome to my comprehensive Flutter repository, showcasing a collection of apps I've personally developed using Flutter! Delve into the source code for each app, conveniently organized in branches, and discover an accompanying tutorial in the README file. These tutorials are thoughtfully crafted to facilitate fellow developers in comprehending the code, utilizing it to build their own apps, and mastering Flutter in no time.
Each branch represents a single app, and you can easily navigate between them to explore different projects. Some branches might contain multiple apps, which were created as part of the same tutorial, offering an exciting challenge for learners.
These apps are a product of my journey with Angela Yu's Flutter course, where I honed my skills and knowledge. By sharing this repository with the community, my aim is to empower others to accelerate their Flutter learning journey and serve as a reliable reference for their future projects.
Together, let's embrace the power of Flutter and advance our app development prowess. Happy learning and coding!
-
i am rich: A simple app that displays a diamond image and a title, that teaches about the following concepts:
- How to add assets to our app
- How to add images to our app
- Text
- Center
- Scaffold
- AppBar
- Image
iOS | Android |
---|---|
![]() |
![]() |
-
mi card: A simple app that displays my contact information, that teaches about the following concepts:
- Hot Reload & Hot Restart
- Container
- SafeArea
- Margin & Padding
- Column & Row
- mainAxisAlignment
- crossAxisAlignment
- CircleAvatar
- TextStyle
- Adding downloaded font family to our app
- Icon
- SizedBox
- Card
- ListTile
- Divider
iOS | Android |
---|---|
![]() |
![]() |
-
dicee: This is a simple dice app that generates a random number between 1 and 6 when the user presses the dice to roll it, that teaches about the following concepts:
- OverFlow & Expanded
- flex property
- Text Button
- Stateless & Stateful
- setState()
iOS | Android |
---|---|
![]() |
![]() |
-
xylophone: This is a simple xylophone app that plays a different sound for each color when the user presses it, that teaches about the following concepts:
- How to incorporate open source libraries of code into our project using Flutter Packages.
- audioplayers 4.1.0 package.
iOS | Android |
---|---|
![]() |
![]() |
- quizzler: This is a simple quiz app that displays a question and the user can answer it by pressing either true or false.
iOS | Android |
---|---|
![]() |
![]() |
-
bmi calculator: This is a simple BMI calculator app that calculates the BMI of the user based on their height and weight, that teaches about the following concepts:
- How to use Flutter themes to create coherent branding.
- GestureDetector widget for detecting taps and gestures.
- textBaseline property of Row widget to align text in a row.
- Slider widget for selecting a range of values.
- Creating custom widgets.
- How to create multi-page apps using Flutter Routes and Navigator.
iOS | Android |
---|---|
![]() |
![]() |
-
clima: This is a simple weather app that displays the weather of the current location of the user, and the user can also search for the weather of any city, that teaches about the following concepts:
- How to get the location of the device using geolocator.
- How to make HTTP requests to a server.
- How to decode JSON data into dart objects.
- How to pass data to a Stateful widget.
- How to pass data back to the previous screen.
- TextField widget.
- Widget lifecycle.
- flutter_spinkit package.
- DropdownButton widget.
- CupertinoPicker widget.
- How to give different styles to different operating systems.
iOS | Android |
---|---|
![]() |
![]() |
-
flash chat: This is a group chat app allowing users to # and log in to chat with other users, developed with the help of Firebase for authentication and Firestore for storing data, that teaches about the following concepts:
- Navigatior named routes
- Hero animations
- Creating custom animations & Mixins
- Curved Animations
- Tween Animations
- Animated Text Kit package
- Setting up Firebase with Flutter
- Firebase authentication
- Firebase Cloud Firestore
- modal_progress_hud_nsn package
- Streams & StreamBuilder widget
- ListView widget
- TextEditingController
- Flexible widget
flash chat demo:
-
todoey: This is a todo list application that allows the user to add tasks, mark them as done, and delete them on long press that teaches about the following:
- ListTile widget
- Checkbox widget
- showModalBottomSheet function
- Callbacks
- ListView.builder widget
- State management (Provider package)
iOS | Android |
---|---|
![]() |
![]() |
-
Cubit: This is part ONE of a series of tutorials that will be used to demonstrate how to use the flutter_bloc & bloc packages to manage the state of a Flutter application.
First we will start with a simple application that lets the user pick a random name from a stored list of names.
It will demonstrate the following concepts:
- How to create a cubit to manage the state of the application using the flutter_bloc & bloc packages.
- How to add extension to a class.
iOS | Android |
---|---|
![]() |
![]() |