<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MUHAMMED ARIF</title>
    <description>The latest articles on DEV Community by MUHAMMED ARIF (@muhammedarifp).</description>
    <link>https://dev.to/muhammedarifp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F807776%2F4b0487e2-8ad1-4094-b321-befe03d4b983.jpg</url>
      <title>DEV Community: MUHAMMED ARIF</title>
      <link>https://dev.to/muhammedarifp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammedarifp"/>
    <language>en</language>
    <item>
      <title>How to Reduce Docker Image Size ? (Part 2)</title>
      <dc:creator>MUHAMMED ARIF</dc:creator>
      <pubDate>Fri, 05 Jan 2024 13:40:23 +0000</pubDate>
      <link>https://dev.to/muhammedarifp/how-to-reduce-docker-image-size-part-2-1b1n</link>
      <guid>https://dev.to/muhammedarifp/how-to-reduce-docker-image-size-part-2-1b1n</guid>
      <description>&lt;p&gt;In my previous post, I discussed the process of building a simple 'Hello, World!' image using Docker, and the support I received was truly awesome. Thanks, guys! If you haven't had a chance to read that post yet, please check it out &lt;a href="https://dev.to/muhammedarifp/creating-a-simple-hello-world-web-application-with-docker-and-golang-1e14"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;However, I encountered some significant issues in that project, which I detailed in the last section of the post. One notable problem is the final image size, which ballooned to around 900MB. This is quite surprising for a 'Hello, World!' application.&lt;/p&gt;

&lt;p&gt;Today we are try to reduce our image size . Lets Gooooo..&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Guys Don't Forget Like this post&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;before going to code. i have a request to you. if like this blogs. just share your feedback on linkedin or instagram. links on end of the post&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Lets Start from our previous post.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Base Image
FROM golang:latest

# Set the Current Working Directory inside the container
WORKDIR /app

# Copy everything from the current directory to the PWD(Present Working Directory) inside the container
COPY . .

# Download all the dependencies
RUN go mod download

# Build the Go app
RUN go build -o main .

# Expose port 8080 to the outside world
EXPOSE 8080

# Command to run the executable
CMD ["./main"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is our last created project's docker file&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let's Change This&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Base Image
FROM golang:latest as builder

# Set the Current Working Directory inside the container
WORKDIR /app

# Copy everything from the current directory to the PWD(Present Working Directory) inside the container
COPY . .

# Download all the dependencies
RUN go mod download

# Build the Go app
RUN go build -o main .

# Start fresh from a smaller image
FROM scratch

# Set the Current Working Directory inside the container
WORKDIR /root

# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app/main .

# Expose port 8080 to the outside world
EXPOSE 8080

# Command to run the executable
CMD ["./main"]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I Changed some parts in our old file. changes is: ✒️&lt;/p&gt;

&lt;p&gt;&lt;code&gt;FROM golang:latest as builder&lt;/code&gt;&lt;br&gt;
This line creates a new stage named "builder." It's like setting up a separate workspace to build our Go application.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;FROM scratch&lt;/code&gt;&lt;br&gt;
This line starts a fresh, minimal image from scratch for our final Docker image.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;COPY --from=builder /app/main .&lt;/code&gt;&lt;br&gt;
Instead of copying everything from the original workspace, we only copy the essential built binary (main) from the "builder" stage.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;WORKDIR /root&lt;/code&gt;&lt;br&gt;
In the final image, we set a smaller working directory to keep things tidy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build the Optimized Docker Image 📦
&lt;/h2&gt;

&lt;p&gt;Finally we will complete our coding part.  let's build our optimized Docker image. Open a terminal and navigate to the directory containing your Dockerfile. Run the following command: ⌨️&lt;br&gt;
&lt;code&gt;docker build -t {image_name} .&lt;/code&gt;&lt;br&gt;
This command tells Docker to build an image based on the instructions in your Dockerfile and tag it with the name "optimized-hello-world." The . at the end indicates that the Dockerfile is in the current directory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify the Optimized Image Size ✅
&lt;/h2&gt;

&lt;p&gt;After completing the build process, you can verify the size of your optimized Docker image by running the following command in your terminal: ⌨️&lt;br&gt;
&lt;code&gt;docker images&lt;/code&gt;&lt;br&gt;
This command will display a list of Docker images on your system. Look for the image with the tag &lt;code&gt;"hello-world"&lt;/code&gt;. You should see the reduced size, confirming that you've successfully optimized your Docker image.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzzi9egtks58uhrf8naf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzzi9egtks58uhrf8naf.png" alt="Final show images" width="601" height="40"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see in the image, the size of our optimized image is now only 7MB. This is a significant reduction from the initial 900MB size. Great job! 🚀&lt;/p&gt;

&lt;p&gt;Finally just run and verify this image. That is your task 😇😇&lt;/p&gt;

&lt;p&gt;If you like my posts connect and send your feedback on&lt;br&gt;
&lt;a href="//www.linkedin.com/in/muhammed-arifp"&gt;Linkedin&lt;/a&gt; and &lt;a href="https://www.instagram.com/arifu_00/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy Codinggggggggg...!👨‍💻👩‍💻&lt;/p&gt;

</description>
      <category>go</category>
      <category>docker</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Creating a Simple Hello World Web Application with Docker and Golang (Part 1)</title>
      <dc:creator>MUHAMMED ARIF</dc:creator>
      <pubDate>Mon, 25 Dec 2023 20:20:59 +0000</pubDate>
      <link>https://dev.to/muhammedarifp/creating-a-simple-hello-world-web-application-with-docker-and-golang-1e14</link>
      <guid>https://dev.to/muhammedarifp/creating-a-simple-hello-world-web-application-with-docker-and-golang-1e14</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;✋ Before going to code ..&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;- What is Docker 😦 ?&lt;/strong&gt;&lt;br&gt;
Docker is a free tool that puts your app and all its stuff into a tidy box called a container. This box works the same everywhere on your computer, a server, 🖇️or in the cloud. It stops messy problems like "it works on my machine" and makes your app easy to carry around. Docker, and tools like it, make this container thing simple and super handy for building software.&lt;/p&gt;

&lt;p&gt;I assume you understand this 😎. If you have no basic knowledge in Docker, watch this YouTube video. This video is an iconic one I ever saw 🚀.&lt;br&gt;
&lt;a href="https://youtu.be/3c-iBn73dDE?si=fQEmIcB96WAexkY9" rel="noopener noreferrer"&gt;Video Link 🖇️&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lets Code .. 👩‍💻
&lt;/h2&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Deffinitly you installed docker and golang on your system&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. &amp;gt; First Step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First, select any IDE like VSCode, Atom, IntelliJ, or Eclipse – it's completely your choice.&lt;br&gt;
This example i selected vs code.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; Second Step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open and setup your project basics&lt;/p&gt;

&lt;p&gt;My project structure is : &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

├── Dockerfile
├── go.mod
└── main.go


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In main.go i created a basic hello world api using http package&lt;/p&gt;

&lt;p&gt;main.go&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

package main

import "net/http"

func main() {
    http.HandleFunc("/", hellowordhandler)

    http.ListenAndServe(":9000", nil)
}

func hellowordhandler(w http.ResponseWriter, r *http.Request) {
    w.Write([]byte("Hello World"))
}



&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; Third Step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally we completed our basic project setup. next we are going to &lt;code&gt;Dockerfile&lt;/code&gt; (A Dockerfile is a set of instructions for creating a Docker container).&lt;/p&gt;

&lt;p&gt;Dockerfile&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

# Base Image
FROM golang:latest

# Set the Current Working Directory inside the container
WORKDIR /app

# Copy everything from the current directory to the PWD(Present Working Directory) inside the container
COPY . .

# Download all the dependencies
RUN go mod download

# Build the Go app
RUN go build -o main .

# Expose port 8080 to the outside world
EXPOSE 8080

# Command to run the executable
CMD ["./main"]


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; Forth Step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Build This Docker Image&lt;/p&gt;

&lt;p&gt;To build this Docker image, execute the following command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

docker build -t hello-word . 


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this command, -t specifies the tag name for our final image (in this case, "hello-world"), and . indicates that the Dockerfile is in the current directory. The period (.) implies that the build context is the current directory, and Docker will use the Dockerfile found there to create the image.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feijk19lejcteqwejvbkh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feijk19lejcteqwejvbkh.png" alt="Docker image building process"&gt;&lt;/a&gt;&lt;br&gt;
Loading ⭕. This process is may be take &amp;gt;1 mins.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Final Step&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After complete that. you exicute another command&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

docker images


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Result is you can see &lt;code&gt;hello-world&lt;/code&gt; image on their. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r85m6pr5seatt3o7lpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3r85m6pr5seatt3o7lpp.png" alt="Docker image listing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;next is run that image&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

docker run -p 9000:9000 hello-world


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The -p flag is used for port mapping. It maps the host machine's port to the container's port. In this case, it's mapping port 9000 on the host to port 9000 on the container. So, any traffic coming to the host machine on port 9000 will be redirected to the container's port 9000.&lt;/p&gt;

&lt;p&gt;After Exicute This : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwr76td2pz17k2lx67n9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwr76td2pz17k2lx67n9.png" alt="Project final result"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;We have successfully created a simple Docker Hello World image, which serves as a helpful starting point for beginners. However, it's worth noting that the current approach results in a relatively large image size, approximately 900MB, which may not be optimal. In the spirit of continuous improvement, I am open to providing support and guidance. If you express interest and engagement with this post, I'll gladly share a follow-up on how to significantly reduce the image size to less than 10MB. Let's embark on this journey together for more efficient and streamlined Docker images!&lt;/p&gt;

&lt;p&gt;Follow me&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="//www.linkedin.com/in/muhammed-arifp"&gt;Linkedin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.instagram.com/arifu_00/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>docker</category>
      <category>go</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Golang Road map in 2023. From beginner to Expert</title>
      <dc:creator>MUHAMMED ARIF</dc:creator>
      <pubDate>Wed, 13 Sep 2023 18:55:28 +0000</pubDate>
      <link>https://dev.to/muhammedarifp/golang-road-map-in-2023-from-beginner-to-expert-2k6m</link>
      <guid>https://dev.to/muhammedarifp/golang-road-map-in-2023-from-beginner-to-expert-2k6m</guid>
      <description>&lt;p&gt;As we enter the promising year of 2023, the world of software development is buzzing with opportunities, and the Go programming language (often referred to as Golang) beckons as an enticing avenue to explore. Whether you’re a newcomer to coding, eager to embark on your programming journey, or a seasoned developer looking to broaden your horizons, this roadmap will serve as your trusted companion on the path to becoming a proficient Go programmer. Together, we will navigate the essential milestones that will elevate you from a novice to a seasoned expert in Golang.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Foundation of Mastery: Learning the Basics&lt;/strong&gt;&lt;br&gt;
At the heart of every successful programmer’s journey lies a strong grasp of the fundamentals. These fundamentals serve as the bedrock upon which your programming prowess is built. So, what exactly do we mean by ‘basics’? In the context of Go programming, it entails delving into key concepts such as basic syntax, variable declaration, data types, and more. You’ll immerse yourself in the world of functions, exploring Go’s unique varieties, including normal, named, and multiple-return functions. You’ll master the art of controlling program flow with loops and gain invaluable insights into error handling. Additionally, we’ll delve into the power of packages and the nuances of import/export mechanisms.&lt;/p&gt;

&lt;p&gt;Completing this foundational stage isn’t just a milestone; it’s the creation of your programming bedrock. With these basics firmly in your grasp, you’ll be well-equipped to tackle more complex challenges and explore the limitless possibilities that Go programming offers. So, let’s embark on this enlightening journey together, where each step brings you closer to becoming a Go expert.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dive into Golang&lt;/strong&gt;&lt;br&gt;
With a solid grasp of the programming fundamentals under your belt, it’s time to take the plunge into the world of Golang, where a myriad of exciting possibilities awaits. As you progress on this journey, you’ll explore not only the core aspects of the language but also its diverse applications, including the development of command-line interface (CLI) applications and harnessing the power of popular web frameworks.&lt;/p&gt;

&lt;p&gt;We’ll start by unraveling the elegance of Go’s syntax, designed for clarity and efficiency, which is not only conducive to building CLI apps but also makes your code highly readable and maintainable. You’ll soon find yourself crafting your own CLI tools, empowering you to automate tasks and simplify your daily workflow.&lt;/p&gt;

&lt;p&gt;Venturing deeper into the Golang ecosystem, you’ll dive into the world of JSON manipulation, mastering Go’s native support for encoding and decoding JSON data. This skill will prove invaluable as you work with data interchange in various applications.&lt;/p&gt;

&lt;p&gt;When it comes to web development, Golang has a lot to offer. We’ll explore the realm of web frameworks, discovering how Go’s efficient and performant nature makes it an excellent choice for building web applications. Whether you’re drawn to the lightweight simplicity of frameworks like Gin or the robustness of Beego, you’ll be equipped to design web applications that can handle diverse workloads.&lt;/p&gt;

&lt;p&gt;Our journey will also lead us to the fascinating world of interfaces, a cornerstone of Go’s philosophy. You’ll learn how to define and implement interfaces effectively, allowing you to write flexible and modular code that can adapt to changing requirements.&lt;/p&gt;

&lt;p&gt;And of course, no exploration of Golang would be complete without a deep dive into Goroutines, the language’s superpower for concurrent programming. You’ll uncover the magic behind Goroutines and Channels, mastering the art of building highly concurrent and scalable applications.&lt;/p&gt;

&lt;p&gt;Throughout this journey, you’ll discover how Go’s design principles prioritize simplicity, efficiency, and productivity, making it an ideal choice for a wide range of applications. So, get ready to embark on this exhilarating adventure through the intricacies of Golang, where each lesson equips you with the skills to tackle real-world challenges and turn your programming dreams into reality.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continue learning&lt;/strong&gt;&lt;br&gt;
As you keep your Golang journey rolling, here’s a piece of friendly advice: hands-on experience is your best teacher. Don’t just read about it — create! Start by brainstorming small projects or problems you’d like to solve. Building your own programs, even simple ones, is a fantastic way to solidify what you’ve learned.&lt;/p&gt;

&lt;p&gt;Additionally, consider collaborating with others in the Go community. Sharing your ideas, asking questions, and contributing to open-source projects can be incredibly rewarding. It’s like joining a team of fellow explorers on this coding adventure.&lt;/p&gt;

&lt;p&gt;Lastly, never stop exploring. Golang is a versatile language with applications in various fields. Whether you’re interested in web development, system programming, or data analysis, there’s a Go path for you. So, stay curious, keep coding, and remember: every line of code you write brings you closer to Go mastery.&lt;/p&gt;

&lt;p&gt;Happy Coding !&lt;/p&gt;

&lt;p&gt;&lt;a href="https://roadmap.sh/golang" rel="noopener noreferrer"&gt;Golang advanced roadmap&lt;/a&gt;&lt;/p&gt;

</description>
      <category>go</category>
      <category>backend</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Beginner Road Map Of Flutter Developer</title>
      <dc:creator>MUHAMMED ARIF</dc:creator>
      <pubDate>Sun, 23 Oct 2022 11:08:41 +0000</pubDate>
      <link>https://dev.to/muhammedarifp/a-real-road-map-for-a-flutter-developers-2boj</link>
      <guid>https://dev.to/muhammedarifp/a-real-road-map-for-a-flutter-developers-2boj</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7tjlhells84nkeakr4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7tjlhells84nkeakr4f.png" alt="Image description" width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Week 1&lt;/strong&gt;
Setup dev environment and learn Dart programming language&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Set dev environment&lt;/li&gt;
&lt;li&gt;Learn Dart programming Language
(You can use dart's website or other social media for this)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Week 2&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create your first Flutter Project and understand project structure &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Understand widgets&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ui widgets&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Layouts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Take a walk through everything important in Flutter (ex : Navigation and more..)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build a good application using the knowledge you have gained so far&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Week 3&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Use External packages &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Networking&lt;br&gt;
 Crud(Create, Read, Update, Delete) Operations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Try making a clone of an app you like&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Week 4&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Firebase (Auth, FireStore, Storage, Push Notification, Cloud functions)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Develope Complete Grocery App with Firebase Backend.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;In the following weeks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now is to improve your skill. Try to learn many advanced things along with it&lt;/p&gt;

&lt;p&gt;Happy Coding 💞😗&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>mobile</category>
      <category>android</category>
      <category>ios</category>
    </item>
  </channel>
</rss>
