Today, I’ll write about a highly preferred countdown timer package. It is published by an individual developer, Muhammad. And the package has an MIT Licence.

Adding dependency and installing the package is similar to all other packages. The usage of the widget looks like below with values:

duration: 10,
initialDuration: 0,
controller: CountDownController(),
width: MediaQuery.of(context).size.width / 2,
height: MediaQuery.of(context).size.height / 2,
ringColor: Colors.grey[300],
ringGradient: null,
fillColor: Colors.purpleAccent[100],
fillGradient: null,
backgroundColor: Colors.purple[500],
backgroundGradient: null,
strokeWidth: 20.0,
strokeCap: StrokeCap.round,
textStyle: TextStyle(
fontSize: 33.0, color: Colors.white, fontWeight: FontWeight.bold),
textFormat: CountdownTextFormat.S, …

Today I’ll take an in-depth look at the confetti package in my app. It is published by the FunWithFlutter team. It is a celebrating animation by blasting colorful confetti around the screen.

Installation and importing of the package are similar to all other packages. Its latest release version is 0.5.4.+1for the time being. The usage of the widget is demonstrated with default values:

confettiController: _controller,
emissionFrequency: 0.02,
numberOfParticles: 10,
maxBlastForce: 20,
minBlastForce: 5,
blastDirectionality: BlastDirectionality.directional,
blastDirection: pi,
gravity: 0.2,
shouldLoop: false,
displayTarget: false,
colors: null,
minimumSize: const Size(20, 10),
maximumSize: const Size(30, 15),
particleDrag: 0.05,
canvas: MediaQuery.of(context).size, …

Fastlane is a tool to automate deployments and releases of mobile apps. It is an open-source project and supports both Android and iOS platforms. You can use it for your cross-platform apps too, like React Native or Flutter.

The installation of Fastlane is quite easy. Besides RubyGems and HomeBrew, Gemfile is a highly recommended way to set up the Fastlane. I created a Gemfile under the Android folder of my Flutter app containing the following lines:

source ""  
gem "fastlane"

Then, running the [sudo] bundle update command will install Fastlane as mentioned in the official cookbook. …

In the previous story, I wrote how to implement a Flutter module into an existing Android App. Today, I’ll mention the implementation of a Flutter module into an iOS App that is generated with Objective-C. And, I’ll invoke native methods on the Flutter screen.

First, I created a Flutter module on the sibling directory with my host app with the following command:

flutter create --template module my_flutter 

And then I embedded this module with the Cocoapods dependency manager as recommended way of the official documentation with the following Podfile:

flutter_application_path = '../my_flutter'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
target 'TomorrowsApp'

Today I’m going to import a Flutter module into an existing Android app. Moreover, I’ll call native methods from that Flutter screen. Because I solved the issue which I mentioned in the last paragraph of my previous story, thanks to Muhannad Fakhouri.

I created a basic Android app and imported a Flutter module. By the FloatingActionButton, I’m starting the FlutterActivity with a route and put a parameter for the title to handle on the Dart side.

FloatingActionButton fab = findViewById(;

fab.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new FlutterActivity
.putExtra("title", "Title")


This story is about platform-specific codes in Flutter. Sometimes we need to write Java or Kotlin for Android devices, and Swift or Objective-C for iOS devices. There are many reasons to do this like unavailable Flutter package about our needs or maybe we have already written native functions to use in native projects, and want to integrate that code into the Flutter app.

Today, I’ll send a model to the native side, and modify it there, and retrieve the newer model. First, I need to import services to define the MethodChannel:

import 'package:flutter/services.dart';static const platformMethodChannel =
const MethodChannel('com.methodchannel/test');


In this article, I’ll write about the filters, especially action filters in the ASP.NET Core. They are very helpful to manage the project and provide more reusable codes. Some of the most preferred filters are:

- Authorization Filters
- Exception Filters
- Resource Filters
- Result Filters
And, Action Filters

In our project, the IT manager wanted to restrict users to send requests for some controllers more than 10 times in a minute. But, the boss did not want to pay for a bot detection system. And reCAPTCHA was not wanted by the art director. …

This is the continuation of that story. I keep going to write about the differences between these two libraries.

While drawing a string into a graphics in System.Drawing, you can set alignments easily both vertical and horizontal. This will provide your text position in 9 different ways: Left-top, center-top, right-top, left-center, center, right-center, left-bottom, center-bottom, and right-bottom.

StringFormat sf = new StringFormat();
sf.LineAlignment = StringAlignment.Center; //Far,Center,Near
sf.Alignment = StringAlignment.Center; //Far,Center,Near

This story is inspired by this article. I was developing a .net core project with System.Drawing library. Everything was ok at first.

A part of the project was containing that image files need to draw on a different colored background. I want to share sample files for you to imagine more simply.

input png with alpha channel

The customer wanted it on a green background(#008000 hex color code). I developed it with System.Drawing Library, and it was working as expected in my locale, macOS. After that, I deployed it to our Linux Server.

At that point, I realized that the output in the server was…


Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store