<?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>Forem: Djamal dos Santos</title>
    <description>The latest articles on Forem by Djamal dos Santos (@kradnoel).</description>
    <link>https://forem.com/kradnoel</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%2F138378%2F7875f3d8-aefb-4665-a11d-3d21a21a7a7e.png</url>
      <title>Forem: Djamal dos Santos</title>
      <link>https://forem.com/kradnoel</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kradnoel"/>
    <language>en</language>
    <item>
      <title>Kradnoel Flutter Mobile Series : Chapter 01 - Project Structure</title>
      <dc:creator>Djamal dos Santos</dc:creator>
      <pubDate>Mon, 29 Jun 2020 11:28:04 +0000</pubDate>
      <link>https://forem.com/kradnoel/kradnoel-flutter-mobile-series-chapter-01-project-structure-4lc2</link>
      <guid>https://forem.com/kradnoel/kradnoel-flutter-mobile-series-chapter-01-project-structure-4lc2</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;Hello there, if you're in this page that mean that you decided to give this serie a try - Yay. So I hope you enjoy it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Structure
&lt;/h2&gt;

&lt;p&gt;Having a good project structure is good practise on software development. If you go to google and search for "Flutter project structure" you will find a lot of articles talking about it. The project structure that I use here may not be ideal for you (as assume that you'll use bloc for state managment) but will give you a hint on the best way to structure you code.&lt;/p&gt;

&lt;p&gt;After you create a flutter project it appear as show below: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Hm8AwaWr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6puvb7j847cztqw252vs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hm8AwaWr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6puvb7j847cztqw252vs.png" alt="Alt Project-Structure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project structure will start on the lib folder in the flutter project:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AbIoUhgQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/eqc6qkdibugp5nxez3eo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AbIoUhgQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/eqc6qkdibugp5nxez3eo.png" alt="Alt Project-Structure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the lib directory, the project is divided in "core" directory, "ui" directory and main.dart&lt;/p&gt;

&lt;p&gt;├─ core : The directory where has all the &lt;br&gt;
  logic from the project.&lt;/p&gt;

&lt;p&gt;├─ ui : The directory where has all the views&lt;br&gt;
 (pages) from the project.&lt;/p&gt;

&lt;p&gt;├─ main.dart : the main dart file which initialize our project calling the "ui/app.dart" that we will talk later.&lt;/p&gt;

&lt;p&gt;From the core directory, the project is divided in "bloc" directory, "data" directory, "shared" directory, and routes.dart &amp;amp; system.dart&lt;/p&gt;

&lt;p&gt;├─ bloc : The directory where we put all the bloc files, with the logic of our application.&lt;/p&gt;

&lt;p&gt;├─ data : The directory where we put all the models, services that can be used on bloc.&lt;/p&gt;

&lt;p&gt;├─ shared: The directory where we put files that configure our fonts (app_fonts.dart), colors app_colors.dart, icons app_icons.dart, global variables (app_global.dart) and more.&lt;/p&gt;

&lt;p&gt;├─ routes.dart : File where you configure your routes. [Optional - I use to configure Fluro routes]&lt;/p&gt;

&lt;p&gt;├─ system.dart: File where you configure your system behavior. [Optional - I use to configure statusBarColor and more =&amp;gt; search on google]&lt;/p&gt;

&lt;p&gt;From the ui directory, the project is divided in app.dart and more&lt;/p&gt;

&lt;p&gt;├─ app.dart : File where you configure the MaterialApp, Bloc initializaion, Route initializaion.&lt;/p&gt;

&lt;p&gt;You can find the code in the Repo below&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/kradnoel"&gt;
        kradnoel
      &lt;/a&gt; / &lt;a href="https://github.com/kradnoel/chapter01_project_structure"&gt;
        chapter01_project_structure
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Chapter 01 - Project structure on my Flutter Mobile serie articles
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
chapter01_project_structure&lt;/h1&gt;
&lt;p&gt;Kradnoel Flutter Dev Serie: Chapter 01 - Project Structure&lt;/p&gt;
&lt;h2&gt;
Set up&lt;/h2&gt;
&lt;h3&gt;
Requirements]&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://flutter.dev" rel="nofollow"&gt;Flutter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
Local development&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Clone this repository and &lt;code&gt;cd&lt;/code&gt; into it&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;git clone https://github.com/kradnoel/chapter01_project_structure.git
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; chapter01_project_structure&lt;/pre&gt;&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Run the project&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell"&gt;&lt;pre&gt;flutter run&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;
License&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/kradnoel/chapter01_project_structure/master/LICENSE"&gt;MIT&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;



&lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/kradnoel/chapter01_project_structure"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;What are you thoughts on the project structure showed above, let me know commenting this article&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Kradnoel Flutter Mobile Serie</title>
      <dc:creator>Djamal dos Santos</dc:creator>
      <pubDate>Mon, 29 Jun 2020 11:24:02 +0000</pubDate>
      <link>https://forem.com/kradnoel/kradnoel-flutter-mobile-serie-158p</link>
      <guid>https://forem.com/kradnoel/kradnoel-flutter-mobile-serie-158p</guid>
      <description>&lt;h2&gt;
  
  
  ;TLDR
&lt;/h2&gt;

&lt;p&gt;Some months ago (February, 2020 to be specific) I initiated a project on flutter, a Business Card Management for Android (iOS in future) using things like state management, internationalization (i18n), local database, peer-to-peer network to send data. And the serie will show you how to implement some of the things that a learnt while working on the project.&lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;I’ve been programming for more than 4 years, from web frontend to backend and mobile (Android) . And in that time I learnt a lot from the Community that I decided is time to give back (at least a little bit :] )&lt;br&gt;
And the other reason to do the serie is that I want to improve my English skills as a non-native English speaker and writer.&lt;/p&gt;

&lt;p&gt;Some moths ago (February, 2020 to be specific) I initiated a project on Flutter, a Business Card Managment for Android (iOS in future), which was in My Dev Ideas Notebook (a Real notebook made with Paper) and I decided to give a try. It's realy awesome using stuff like state managment, internacionalization (i18n), local database, peer-to-peer network to send data with help of bluetooth or wifi hotspot.&lt;/p&gt;

&lt;p&gt;In the eventuality that the project take much time that I would like to, I decided to give to the community some part of the code that may help using some of the techniques I used in the project.&lt;/p&gt;

&lt;p&gt;So I hope you enjoy as much I'm writing this articles.&lt;/p&gt;

</description>
      <category>flutter</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>CovidReportMZ - Get realiable info about Covid-19 on Mozambique the easy way!!!</title>
      <dc:creator>Djamal dos Santos</dc:creator>
      <pubDate>Sat, 25 Apr 2020 13:01:39 +0000</pubDate>
      <link>https://forem.com/kradnoel/covidreportmz-get-realiable-info-about-covid-19-on-mozambique-the-easy-way-2ke9</link>
      <guid>https://forem.com/kradnoel/covidreportmz-get-realiable-info-about-covid-19-on-mozambique-the-easy-way-2ke9</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;A Covid-19 Aware  WebApp. Basically, the user subscribe on the website with phone number and they receive Covid-19 daily stats. This Webapp helps user to be aware of total cases in Mozambique. &lt;br&gt;
I've build an &lt;a href="https://covidreportmz-api.herokuapp.com"&gt;API&lt;/a&gt; that use data extracted from the Mozambique Health Institute website (&lt;a href="https://covid19.ins.gov.mz"&gt;https://covid19.ins.gov.mz&lt;/a&gt;) using web scraping technique.&lt;br&gt;
Using Twilio Programmable SMS API, it sends the daily updates to the users via SMS (Mozambique Only) and using Twilio API for WhatsApp + Twilio Autopilot API it send statistics and FAQ's via WhatsApp (Worldwide)&lt;/p&gt;

&lt;h4&gt;
  
  
  Category Submission: Interesting Integrations
&lt;/h4&gt;

&lt;h2&gt;
  
  
  Demo Link
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://covidreportmz.herokuapp.com"&gt;https://covidreportmz.herokuapp.com&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Link to Code
&lt;/h2&gt;

&lt;p&gt;Here is a github repo of the project.&lt;br&gt;
&lt;a href="https://github.com/kradnoel/CovidReportMZ"&gt;https://github.com/kradnoel/CovidReportMZ&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I built it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Stack
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Backend: Node.js web server using &lt;a href="https://expressjs.com/"&gt;Express&lt;/a&gt; + web scrapping using &lt;a href="http://cheerio.js.org/"&gt;cheerio&lt;/a&gt; + Persistance with &lt;a href="https://parseplatform.org/"&gt;Parse&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Frontend: &lt;a href="https://nuxt.org/"&gt;Nuxt&lt;/a&gt; + &lt;a href="https://buefy.org/"&gt;Buefy&lt;/a&gt; + Javascript&lt;/li&gt;
&lt;li&gt;Integration: &lt;a href="https://www.twilio.com/docs/sms/api"&gt;Programmable SMS Twilio API&lt;/a&gt; + &lt;a href="https://www.twilio.com/whatsapp"&gt;Twilio API for WhatsApp&lt;/a&gt; + &lt;a href="https://www.twilio.com/docs/autopilot/api"&gt;Twilio Autopilot API&lt;/a&gt; + &lt;a href="https://www.back4app.com/"&gt;Back4app Parse Server&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Deployed with &lt;a href="https://www.heroku.com/"&gt;Heroku&lt;/a&gt;. You can check out the live application &lt;a href="https://covidreportmz.herokuapp.com/"&gt;here&lt;/a&gt; or the live API &lt;a href="https://covidreportmz-api.herokuapp.com/"&gt;here&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is not complete yet but you can check it out. It's been a great experience participating in this hackathon and building a project from an idea to the application. Hope you like it.&lt;/p&gt;

</description>
      <category>twiliohackathon</category>
      <category>javascript</category>
      <category>covid</category>
    </item>
  </channel>
</rss>
