<?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: Moureen Caroline</title>
    <description>The latest articles on DEV Community by Moureen Caroline (@jadamoureen).</description>
    <link>https://dev.to/jadamoureen</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%2F195353%2F69021a17-b0ad-44ec-9d3a-4667227caf8e.png</url>
      <title>DEV Community: Moureen Caroline</title>
      <link>https://dev.to/jadamoureen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jadamoureen"/>
    <language>en</language>
    <item>
      <title>Setup Metabase and connect to the database</title>
      <dc:creator>Moureen Caroline</dc:creator>
      <pubDate>Thu, 15 Sep 2022 16:04:02 +0000</pubDate>
      <link>https://dev.to/jadamoureen/setup-metabase-and-connect-to-the-database-5hll</link>
      <guid>https://dev.to/jadamoureen/setup-metabase-and-connect-to-the-database-5hll</guid>
      <description>&lt;p&gt;*&lt;em&gt;What exactly is Metabase? *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In a nutshell, it's a free and open source business intelligence tool. Some might describe it as a reporting and dashboard tool. Metabase enables you to easily ask questions of your data and view it in a variety of logical formats.&lt;/p&gt;

&lt;p&gt;I came across this amazing tool during my recent Data Analysts technical challenge. I had heard of it but had never used it. Every day is a learning cup, and learning never stops.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instructions;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I was given the task of importing a spreadsheet into a database and connecting it to Metabase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visualize the data by route and time of departure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using whatever tools you have at your disposal, forecast which routes and departures are the most profitable, making recommendations on which to expand and which to cancel.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before adding a new App, one must first create an account with Heroku then new App → Resources → search for ClearDB. I had to use cleardb to connect Heroku to my MySQL workbench using a csv file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OW3sO-bK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cbge8bb1rcjqyxliyrq4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OW3sO-bK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cbge8bb1rcjqyxliyrq4.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X3f4iJxF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5icp3eeage8y1nfgkhg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X3f4iJxF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k5icp3eeage8y1nfgkhg.png" alt="Image description" width="880" height="635"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ClearDB MySQL should be expanded in the settings section expose configuration parameters This will enable us to connect to the local database and view the following information;&lt;/p&gt;

&lt;p&gt;mysql://b176c32991cf37:14187ffe@us-cdbr-east-**&lt;/p&gt;

&lt;p&gt;USER NAME = **&lt;/p&gt;

&lt;p&gt;PASSWORD = *&lt;/p&gt;

&lt;p&gt;HOST = us-cdbr-east-*&lt;/p&gt;

&lt;p&gt;DATABASE NAME = heroku_*&lt;/p&gt;

&lt;p&gt;You run heroku config to get the CLEARDB DATABASE URL, which should look like this:&lt;br&gt;
CLEARDB_DATABASE_URL =&amp;gt; mysql://[username]:[password]@[host]/[database name]?reconnect=true&lt;br&gt;
So you basically just look at your own url and get everything you need from there. That is how I configured mysql workbench.&lt;/p&gt;

&lt;p&gt;'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-&lt;br&gt;
 06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'&lt;br&gt;
This will then be your database credentials. (Extracted from the URL above)&lt;/p&gt;

&lt;p&gt;USER NAME = b0600ea495asds&lt;/p&gt;

&lt;p&gt;PASSWORD = 9cd2b111&lt;/p&gt;

&lt;p&gt;HOST = us-cdbr-hirone-west- 06.cleardb.net&lt;/p&gt;

&lt;p&gt;DATABASE NAME = heroku_4a1dc3673c4114d&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---WkpgGIQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8au09c6fkej1q5pj9wi8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---WkpgGIQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8au09c6fkej1q5pj9wi8.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The screenshot shows that the connection between the MySQL workbench and the remote database was successful.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--22dNOTeP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nq9p995xpmniovhfdrfb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--22dNOTeP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nq9p995xpmniovhfdrfb.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I received an error during the csv file import process, as shown in the screenshot, indicating that it was unicode (utf - 8) with BOM, despite the fact that MySQL supports unicode (utf - 8) so I had to convert it to unicode (utf - 8) as shown in the series of screenshots, then import it again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3rT1BZyP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tld2mtxdulomu7ytag83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3rT1BZyP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tld2mtxdulomu7ytag83.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--R3jXDW3N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3l1kzomjgjfwsfjt6nzc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--R3jXDW3N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3l1kzomjgjfwsfjt6nzc.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was able to successfully import both my local and remote databases, as shown in the screenshots.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k2W-qr0Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2uutu9kysda053596u2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k2W-qr0Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z2uutu9kysda053596u2.png" alt="Image description" width="880" height="620"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WuQCTnpp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufy20jsrrxzksv1sgj5u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WuQCTnpp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufy20jsrrxzksv1sgj5u.png" alt="Image description" width="880" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visualize the data by route as well as departure time for the first question. The number of routes taken in a given period of time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5RkfOwFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/18wrgw8s3jug8xjugl8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5RkfOwFX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/18wrgw8s3jug8xjugl8e.png" alt="Image description" width="880" height="1298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nHUgIjY7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzw7a6avk19no7059klq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nHUgIjY7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qzw7a6avk19no7059klq.png" alt="Image description" width="880" height="535"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OrhNJnFp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98jrar6lrv7zl1am3s0s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OrhNJnFp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98jrar6lrv7zl1am3s0s.png" alt="Image description" width="880" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Routes with multiple counts and representative times&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CK8ivbNG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/muqf63w3aj152rth3pov.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CK8ivbNG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/muqf63w3aj152rth3pov.png" alt="Image description" width="880" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Exploring Metabase using a sample database&lt;/p&gt;

&lt;p&gt;Various visualisation features&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0vmoTciR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kllxkulan1lckuln61s5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0vmoTciR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kllxkulan1lckuln61s5.png" alt="Image description" width="880" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Query to SQL Conversion&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1PwAtOyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m5div6w1b67j7n8oihf0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1PwAtOyy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m5div6w1b67j7n8oihf0.png" alt="Image description" width="880" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Visualization&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RTF7cF1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylqe9kkq1a14scjfprtm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RTF7cF1I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ylqe9kkq1a14scjfprtm.png" alt="Image description" width="880" height="359"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>beginners</category>
      <category>database</category>
      <category>dataanalysts</category>
    </item>
    <item>
      <title>My experience setting up a react-native environment on Ubuntu OS</title>
      <dc:creator>Moureen Caroline</dc:creator>
      <pubDate>Mon, 02 Dec 2019 16:59:28 +0000</pubDate>
      <link>https://dev.to/jadamoureen/my-experience-setting-up-a-react-native-environment-on-ubuntu-os-4944</link>
      <guid>https://dev.to/jadamoureen/my-experience-setting-up-a-react-native-environment-on-ubuntu-os-4944</guid>
      <description>&lt;p&gt;Am a few months old in to serious programming with a background in java that I recently had to change to python due to the application that was assigned to me so am busy trying to understand python and how it works and boom little did I know then I was put on the team building a react- native application , now let’s get this clear i have not done anything in java-script or ES6 nor have I done any react of sorts, yeah confusing right ? yeah I surely was. Now it reaches a time to setup a react native environment on my Intel Pentium machine. So i get access to the react-native documentation and the instructions looked pretty straight forward , so I was like let’s do this!!!! The very thing was going on awesomely until I reached the step that had Android SDK tools that’s where everything became real right before I even wrote a single line of “Hello World ” in react-native. Tried everything possible on the internet but still things were not working out for at least 5 good days straight and the fact that i was installing on an Ubuntu machine did make anything easier since there are a few documents on the same errors that I was facing trying to setup the environment. But I finally got the breakthrough at the end .&lt;br&gt;
Before proceeding, be sure to install the latest version of the following on Linux ( Ubuntu 18.04):&lt;br&gt;
Node (V 12.10 as of writing)&lt;br&gt;
Npm (V 6.10.3 as of writing)&lt;br&gt;
Android SDK tools&lt;br&gt;
Yarn&lt;br&gt;
Git&lt;br&gt;
Genymotion&lt;br&gt;
Virtual-box&lt;br&gt;
others :&lt;br&gt;
USB cable&lt;br&gt;
Mobile phone&lt;/p&gt;

&lt;p&gt;After installing the virtual-box and confirming that it’s up and running&lt;/p&gt;

&lt;p&gt;Creating the environment for the Android SDK tools;&lt;br&gt;
$nano/etc/profile&lt;/p&gt;

&lt;p&gt;Confirm that Android SDK is installed run the following;&lt;br&gt;
echo $JAVA_HOME&lt;br&gt;
echo $ANDROID_HOME&lt;/p&gt;

&lt;p&gt;After one has configured an environment variable called ANDROID_HOME, run the following command to accept all the licenses.&lt;br&gt;
yes | $ANDROID_HOME/tools/bin/sdkmanager — licenses&lt;/p&gt;

&lt;p&gt;In case one is using Java version 10 and above, you will have trouble running the command above.First run the;&lt;br&gt;
sudo update-alternatives — config java&lt;/p&gt;

&lt;p&gt;To downgrade the Java to Java version 8 so that you can be in a position to run the command once again to get all the SDK licenses up-to-date.&lt;/p&gt;

&lt;p&gt;Open up two different terminals&lt;br&gt;
Run react-native start&lt;br&gt;
Run react-native run-android&lt;br&gt;
One will notice the execution is at 99% and its stuck at app:installDebug, why!! Cause its running the Genymotion Android Tools (default). You need to change the radio-button to Use custom Android SDK tools ( put the path of your sdktools) &lt;/p&gt;

&lt;p&gt;walalalalalalala we got it baby and we are good to GO.&lt;br&gt;
React-Native Here we come BABY!!!&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
