Useful flutter resources

Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
– flutter.io
Top articles for flutter
Flutter – SQFLITE (SQLITE) + MVP Architecture + Login App Tutorial
https://www.youtube.com/watch?v=Yzfxqd9-6QY
Building a news app
Login animation
Flutter – Build Material Chat App | Frenzy Chat For Android & iOS | Design
https://www.youtube.com/watch?v=Yd-bgqe3DxA
Best Video Tutorials Of Flutter To Develop Application For Android & ios
Music Player in Flutter
Weather forecast with rain app in Flutter
Complete Guide to Flutter: How to Build a Real World App
https://www.youtube.com/watch?v=S59b-XFsyY8&t=2452s
Flutter: Building a WhatsApp Clone from scratch | UI | Material Design
https://www.youtube.com/watch?v=2Tyrofn6zPg
Building a List in Redux with Dart’s Flutter Framework
https://www.youtube.com/watch?v=oqPUd1FlmDQ
Flutter – MVP Architecture | Design Pattern | Dependency Injection | Flavors | Demo
https://www.youtube.com/watch?v=I2AgSDAEZSE
Flutter — Container Cheat Sheet

Install Flutter on Linux

Flutter Logo

Image Credit: Google

As per Flutter documentation you should fulfill below requirement to run Flutter development environment on your machine.

  • Operating Systems: Linux (64-bit)
  • Disk Space: 600 MB (does not include disk space for IDE/tools).
  • Tools: Flutter depends on these command-line tools being available in your environment.
    • bashmkdirrmgitcurlunzipwhich

Install Flutter SDK

Flutter is currently in Beta, you can download latest version of Flutter from this url
While writing this article, the current version is 0.3.2 beta
Go to directory where you want to extract the file. For example I want to extract this in my Documents directory.

Now run below command to extract the file in the current directory

To be able to run flutter command from terminal we need to add it to our path.

This will temporarily add flutter to path, we need to make it permanent so that it will be available on restart also.


To check if it has been added to path

You should see the flutter path in the output.

Flutter comes with a handy doctor command through which you can see if all dependencies have been installed or not on your computer to run a flutter development environment.

You can upgrade flutter by running

Setup Android Studio

You should have android studio installed on your machine. To install the latest version of it, visit https://developer.android.com/studio/

Configure Text Editors

Refer this link to setup Flutter in Android Studio –

https://flutter.io/get-started/editor/#androidstudio

To setup flutter in Visual Studio Code, refer this link

https://flutter.io/get-started/editor/#vscode

Setup Device to run the application (From flutter.io)

To prepare to run and test your Flutter app on an Android device, you’ll need an Android device running Android 4.1 (API level 16) or higher.

  1. Enable Developer options and USB debugging on your device. Detailed instructions are available in the Android documentation.
  2. Windows-only: Install the Google USB Driver
  3. Using a USB cable, plug your phone into your computer. If prompted on your device, authorize your computer to access your device.
  4. In the terminal, run the flutter devices command to verify that Flutter recognizes your connected Android device.
  5. Start your app by running flutter run.

By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the ANDROID_HOME environment variable to that installation directory.

Set up the Android emulator

To prepare to run and test your Flutter app on the Android emulator, follow these steps:

  1. Enable VM acceleration on your machine.
  2. Launch Android Studio>Tools>Android>AVD Manager and select Create Virtual Device.
  3. Choose a device definition and select Next.
  4. Select one or more system images for the Android versions you want to emulate, and select Next. An x86 or x86_64 image is recommended.
  5. Under Emulated Performance, select Hardware – GLES 2.0 to enable hardware acceleration.
  6. Verify the AVD configuration is correct, and select Finish.For details on the above steps, see Managing AVDs.
  7. In Android Virtual Device Manager, click Run in the toolbar. The emulator starts up and displays the default canvas for your selected OS version and device.
  8. Start your app by running flutter run. The connected device name is Android SDK built for <platform>, where platform is the chip family, such as x86.

Compress a directory in Linux

The tar command in Linux is used to compress or create an archive of a directory with .tar.gz or .tgz archive files,  they are also called “tarballs”.

Here tar is creating a archive named “archive-file-name.tar.gz” of “source-directory-name”.

Where

-z = Compress the archive with gzip

-c = Creates a new .tar archive file

-v = Verbose, show .tar file progress

-f = Archive File name

Exclude particular directory or file 

To exclude a file or directory from being added in the archive use –exclude option

Compress multiple directories in single archive

You can add any no of directories or files you want to achive

How to Extract Archive

As you can see the only difference between creating an archive and extracting an archive is -x switch replace -c switch.

Moving a git repository to new server

If you want to move your git repository from one server to another or say from github.com to gitlab.com or from your own server to another server, follow below steps to transfer your repo.

Step 1 – Create a bare clone  of your existing git repository

Step 2 – Now cd into the newly created directory ‘your-existing-git-repo-link.git‘  and fetch all branches

Step 3 – We have all the branches on our local machine, lets push it to new server

That’s it, you have shifted your git repo.

Migrating your website using rsync to a new server

Moving a website having large number of files from one server to another can be a can be a daunting task. If you are not using any version control like Git then you need to first download the whole application on your local computer and then upload to the designation server.
This is a time consuming process considering the number of files. So in this post I am going to tell you a much faster approach to tackle this problem using a utility called ‘rsync’.
Install Rsync
Run this command to check if it is already installed on your machine,
If you see something like then it is already installed on your machine

You need to install it if it the output is blank.

To install Rsync on your machine

Now to communicate between your old VPS and new VPS we need to have Rsync installed on your old VPS as well. So log into your old VPS and check if Rsync is installed on it, if not then follow above step to install it.
Rysnc needs to be able log into your new server from your old server to transfer files. Run below command to generate a key, if you do not have one generated already.

Lets transfer the key from your old server to new one through below command
Now you are ready to start transfer of files from your old VPS to new VPS, log into your old VPS and enter below command
in the above command
my-project = is the directory that you want to transfer
190.201.303.404 = destination VPS IP address
/var/www/html/my-project = path where you want to store the files on destination server.
You can use –progress option to see the progress.

React Native showing default screen even after code modification

If you are building a React Native application for Android by running

and you are still getting the default React native screen,

follow below steps to fix this issue.

1.Create assets directory in android/app/src/main

2. Clear your build cache by running below command from root of your application

3. After this run

4. Now build the application by running, you should see the changes

 

Useful Linux commands for beginners

If you are switching from Windows to Linux based operating system, then it might be difficult in early days to get hang of it. Here are some commands that will be useful.

  1. If you want to find out size of current directory, just type

2. Check your disk usage

3. See all files and directory size in current path

4. Truncate log files

5. List content of a directory using ls command

6. If you want to know about a command, you can take of man command, for example if you want to go into details of ls command, just type

It will give you an output something similar to this

 

I will be updating this with more useful commands as and when I found.

Thanks

Transfer ownership of a Digital Ocean Droplet

I run a web development agency and most of the time it happens that we create servers for client in our own Digital Ocean account during the development phase.  When project gets over we usually transfer the ownership of the droplet to client. I have seen Digital Ocean customers
struggling with the transfer of ownership of droplet.

So here is I am giving a simple step by step guide to transfer a droplet from one Digital Ocean account to another.

Step 1: Take a snapshot of droplet

We need to first take a snapshot of the droplet that you want to transfer. You can either take a live snapshot which doesn’t require shutting down the droplet or to avoid any data loss just power off the droplet before taking snapshot. You can power off the droplet from the control panel or by logging into server through ssh.

Enter the name of snapshot and click on “Take Snapshot” button.

DO Snapshot

DO Snapshot

Step 2: Enter recipient owner digital account email address

Once the snapshot is ready, click on “Change Owner” option. It will prompt to enter recipient email address. Enter the address of the account to which you want to transfer the droplet.

Step 3: Accept snapshot transfer

Now log into the control panel of the recipient account. Go to Images and then Snapshots. You will see the snapshot that you had transferred to this account. Click on Accept to complete the transfer process.

Step 4: Create a new droplet from snapshot

Since we have the snapshot with us now, we need to create a droplet from this snapshot. To Click on “Create Droplet” option from menu and select the appropriate plan for your droplet, and your droplet is ready!

Install COMODO Postive SSL certificate on Ubuntu

Comodo offers a wide range of SSL certificates to suit a diverse range of business requirements and budgets.

Follow below steps to install comodo positive ssl certificate on your ubuntu server.

Step 1 –  Before applying for a certificate we need to submit Certificate Signing Request (CSR)  to Certificate Authority (CA). Run below command on your server

* replace example_com with your domain name if you want to

It will ask following details

  • Organization Name
  • Organizational Unit
  • Country Code
  • State / Province
  • Locality
  • Common Name – This is the domain name for which you want to purchase SSL certificate

After providing above mentioned details this command will create two files

  • example_com.key – Your private key which you need to configure Apache or Nginx
  • example_com.csr – CSR

Step 2 – Apply for the certificate and provide content of CSR file

Step 3 – After submitting CSR, CA will send you an email on email selected by you. You should get your SSL certificate after verifying your domain.

Your certificate zip file will contain

example_com.crt  – Your ssl certificate
AddTrustExternalCARoot.crt – Root CA certificate
COMODORSAAddTrustCA.crt  – Intermediate CA certificate
COMODORSADomainValidationSecureServerCA.crt  – Intermediate CA certificate

Step 4 – Create a bundle of all crt files

Step 5 – Configuring Apache web server to serve website over HTTPS


Step 6 (Optional) – Configure Nginx to serve website over HTTPS

Install or update nodejs usin NVM in Ubuntu

Node JS is a JavaScript runtime built on Chrome’s V8 JavaScript engine. Node.js uses an event driven, non-blocking I/O model that makes it lightweight and efficient
 Using nvmNVM, which stands for “Node.js version manager” we can install multiple versions of nodejs on Ubuntu.

To install or update nvm, you can use the install script using cURL: ( You can find the installation instructions on projects github page https://github.com/creationix/nvm/blob/master/README.md)


or using Wget:


Run the script by running 


To get the list of available Node.js versions