<?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: Ramy Gamal</title>
    <description>The latest articles on DEV Community by Ramy Gamal (@raamyy).</description>
    <link>https://dev.to/raamyy</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%2F261468%2F525bcce0-ff2c-4e7d-93b4-82e1c20d71db.jpeg</url>
      <title>DEV Community: Ramy Gamal</title>
      <link>https://dev.to/raamyy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raamyy"/>
    <language>en</language>
    <item>
      <title>Migrating Azure Devops Activity to GitHub 🔄️</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Fri, 01 May 2026 16:33:19 +0000</pubDate>
      <link>https://dev.to/raamyy/migrating-azure-devops-activity-to-github-37ci</link>
      <guid>https://dev.to/raamyy/migrating-azure-devops-activity-to-github-37ci</guid>
      <description>&lt;p&gt;GitHub isn’t just a place to store code anymore. For many developers, it’s a living portfolio, a snapshot of what they’re building, exploring, and learning.&lt;/p&gt;

&lt;p&gt;Though, my GitHub profile didn’t reflect that at all. This happened when I joined a company that don't use GitHub for managing the codebase.&lt;/p&gt;

&lt;p&gt;Most of my day-to-day work happens in a private codebase hosted on &lt;strong&gt;Azure DevOps&lt;/strong&gt;. So even though I’m actively coding, shipping, and solving problems, my GitHub looked… inactive. Almost like I stopped coding altogether.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Idea
&lt;/h2&gt;

&lt;p&gt;One night, I decided to fix this.&lt;/p&gt;

&lt;p&gt;Since I genuinely enjoy building automation scripts, I thought:&lt;br&gt;
Why not automatically sync my activity from azure DevOps into my GitHub account?&lt;/p&gt;

&lt;p&gt;So I built a small script that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pulls my commits from Azure DevOps (where I’m the author)&lt;/li&gt;
&lt;li&gt;Replays them into a private GitHub repository&lt;/li&gt;
&lt;li&gt;Runs automatically on a daily schedule&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The setup is pretty straightforward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses Azure DevOps APIs to fetch commits&lt;/li&gt;
&lt;li&gt;Filters commits by author&lt;/li&gt;
&lt;li&gt;Pushes them into GitHub as new commits (A private repository is recommended to contain your activity)&lt;/li&gt;
&lt;li&gt;Runs daily using GitHub Actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, my GitHub profile reflects actual activity again without changing how or where I work. 😁&lt;/p&gt;

&lt;p&gt;The script was originally built for my own use, but it is open-source in case it’s useful to others.&lt;/p&gt;

&lt;p&gt;If you’re working across different platforms and want a unified presence, this might help or at least spark an idea.&lt;/p&gt;

&lt;p&gt;👉 Check it out: &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Raamyy" rel="noopener noreferrer"&gt;
        Raamyy
      &lt;/a&gt; / &lt;a href="https://github.com/Raamyy/azuredevops-commits-migrator" rel="noopener noreferrer"&gt;
        azuredevops-commits-migrator
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Bring your Azure Devops contribution history into Github!
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Azure DevOps to GitHub Migration Tool&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Github profile is so boring when no activity is there when you work at a company that use Azure Devops.&lt;/p&gt;
&lt;p&gt;This project helps users automate the migration of commits and Pull Requests (PRs) from an Azure DevOps repository to a GitHub repository. It uses a GitHub workflow to automate the migration process.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Getting Started&lt;/h1&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Fork this repository&lt;br&gt;
  Click the Fork button in the top-right corner of this page to fork the master repository.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to forked repo in your repository&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Add secrets:&lt;br&gt;
  settings -&amp;gt; Actions secrets and variables -&amp;gt; Repository secrets -&amp;gt; New repository secrets
&lt;a rel="noopener noreferrer" href="https://github.com/Raamyy/azuredevops-commits-migrator/resources/image.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FRaamyy%2Fazuredevops-commits-migrator%2FHEAD%2Fresources%2Fimage.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;PAT  &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Your Azure PAT, you'll know how to get it below&lt;/span&gt;
USER_EMAIL  &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Your GITHUB user email&lt;/span&gt;

USER_NAME &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Your GITHUB user name&lt;/span&gt;

AZURE_NAME  &lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; YOUR username on Azure&lt;/span&gt;

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Set this number to 1, unless you want to fetch all the previous history&lt;/span&gt;
DAYS_LOOKUP

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; This is&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Raamyy/azuredevops-commits-migrator" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Main function
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;AZURE_NAME&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;AZURE_NAME is not set. Please add it to the github secrets with your Azure username. exiting...&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;COMMITS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[];&lt;/span&gt;
  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;getProjects&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;project&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;projects&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;repositories&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;getRepositories&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;project&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;repo&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;repositories&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;commits&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;getCommits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;project&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;AZURE_NAME&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;repo&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;defaultBranch&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="nx"&gt;COMMITS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;COMMITS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;concat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;commits&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;COMMITS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;COMMITS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creationDate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;creationDate&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`got toal of &lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;COMMITS&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; commits`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;generateGitCommits&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;COMMITS&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you’re interested in extending it or making it more generic, contributions are welcome. And if you have questions, feel free to reach out.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now I joined a bit bigger company that still I am not sure of it's policies regarding similar, so my GitHub is back dead again 😭&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Do you care about the activity graph, or do you prefer to keep work and personal strictly separate?"&lt;/p&gt;

</description>
      <category>azure</category>
      <category>github</category>
      <category>automation</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>Build INTERACTIVE Analytics Dashboards | METABASE. Part2: Connecting to Database</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Sat, 14 Aug 2021 15:14:37 +0000</pubDate>
      <link>https://dev.to/raamyy/build-interactive-analytics-dashboards-metabase-part2-connecting-to-database-1dbd</link>
      <guid>https://dev.to/raamyy/build-interactive-analytics-dashboards-metabase-part2-connecting-to-database-1dbd</guid>
      <description>&lt;p&gt;After submitting your profile information you will need to provide database connection so metabase can process your data.&lt;/p&gt;

&lt;p&gt;Metabase supports wide range of databases including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MySQL&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;MongoDB&lt;/li&gt;
&lt;li&gt;SQLServer&lt;/li&gt;
&lt;li&gt;Oracle&lt;/li&gt;
&lt;li&gt;And more! you can check list of &lt;a href="https://www.metabase.com/docs/latest/administration-guide/01-managing-databases.html#officially-supported-databases" rel="noopener noreferrer"&gt;officially supported databases&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this tutorial we will use MongoDB &lt;a href="https://docs.atlas.mongodb.com/sample-data/" rel="noopener noreferrer"&gt;sample database&lt;/a&gt; as our data source.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connecting to MongoDB
&lt;/h2&gt;

&lt;p&gt;We will need to get database connection string. So in your ATLAS dashboard press on Connect, then get the connection string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fqm0clst4ow1k4wmj6gdl.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqm0clst4ow1k4wmj6gdl.gif" alt="Getting Mongo Connection String" width="720" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You will have a connection string similar to this one&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mongodb+srv://DB_USER:*******@cluster0.4i388.mongodb.net/sample_analytics?retryWrites=true&amp;amp;w=majority
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So copy it and replace the placeholders and then provide the connection string to metabase.&lt;br&gt;
&lt;a href="https://media2.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%2Fspkbp1irsvbspdvfpooq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fspkbp1irsvbspdvfpooq.gif" alt="Submitting connection string to metabase" width="720" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Important Note
&lt;/h3&gt;

&lt;p&gt;Make sure to whitelist all the IPs in your ATLAS configuration so metabase can access it.&lt;br&gt;
&lt;a href="https://media2.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%2Ffwy34d74klakw0714qox.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffwy34d74klakw0714qox.png" alt="image" width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now the database is added as a data source in metabase and automatically metabase started generating some charts for you.&lt;br&gt;
&lt;a href="https://media2.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%2F3b8uf9f0dicbypxrsf38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F3b8uf9f0dicbypxrsf38.png" alt="image" width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was pretty easy right? In the next post we will discuss how to create custom charts in metabase.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>database</category>
      <category>metabase</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>📊 Build INTERACTIVE Analytics Dashboards | METABASE</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Sat, 14 Aug 2021 14:22:56 +0000</pubDate>
      <link>https://dev.to/raamyy/build-interactive-analytics-dashboards-metabase-24o2</link>
      <guid>https://dev.to/raamyy/build-interactive-analytics-dashboards-metabase-24o2</guid>
      <description>&lt;p&gt;There actually exists a free, open source and cool service that helps you visualize your own data. Welcome to &lt;a href="https://www.metabase.com/" rel="noopener noreferrer"&gt;Metabase&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Metabase is a powerful platform that allows you to ask question about your data, then it will do some &lt;em&gt;science&lt;/em&gt; and eventually you will see your question is answered with generated charts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fk6qno1rocw308jlx5h4e.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fk6qno1rocw308jlx5h4e.gif" alt="omg-oh-my-god" width="332" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Although there exist enterprise (&lt;em&gt;paid&lt;/em&gt;) plans on metabase, but you can still build it locally by following this &lt;a href="https://www.metabase.com/docs/latest/operations-guide/running-the-metabase-jar-file.html" rel="noopener noreferrer"&gt;guide&lt;/a&gt;. Or you can deploy it on heroku with a press of a &lt;a href="https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-heroku.html" rel="noopener noreferrer"&gt;button&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We will go with the heroku approach. Once you press the &lt;strong&gt;deploy to heroku&lt;/strong&gt; button you will be redirected to heroku. Enter the application name and hit the deploy app button.&lt;br&gt;
&lt;a href="https://media2.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%2Fqtpfjqefwtui4iw4qbx1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fqtpfjqefwtui4iw4qbx1.png" alt="image" width="800" height="558"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is an authentication system that is built in metabase. So in your first time accessing your platform you will add your account details you will use to access your dashboard in the future.&lt;br&gt;
&lt;a href="https://media2.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%2F28vrupwby5im0ag4wbdy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F28vrupwby5im0ag4wbdy.png" alt="image" width="800" height="829"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the next post we will discuss connecting to your database. So let me know in the comments what do you think about metabase and if you know similar platforms!&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>database</category>
      <category>metabase</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>My Great Project !</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Wed, 20 May 2020 16:14:40 +0000</pubDate>
      <link>https://dev.to/raamyy/my-great-project-511a</link>
      <guid>https://dev.to/raamyy/my-great-project-511a</guid>
      <description>&lt;h2&gt;
  
  
  Home Eats
&lt;/h2&gt;

&lt;p&gt;Home Eats is our first Mobile Application ever! We had like only 2 weeks to learn android, firebase and deliver a working project, and that we did 💪&lt;/p&gt;

&lt;p&gt;We are a team of Software Engineering students in Ain Shams university, Egypt. We had a project that is required to be built in android and have interactions with google services as Firebase, maps,..etc.&lt;/p&gt;

&lt;p&gt;We had no idea about how to build a mobile application. We split ourselves into 2 teams, one team is responsible for building the UI of the application and user interactions, and the other team was responsible to build the firebase database and write the backend code that interacts with the database, maps and other services.&lt;/p&gt;

&lt;p&gt;In the first week we had to learn many concepts and fundamentals on how to build a mobile application. and the second week was the coding part.&lt;/p&gt;

&lt;p&gt;We built a library that we called &lt;strong&gt;Firebase Dao&lt;/strong&gt;. It was responsible for handling all our interactions with the firebase database. you can find it here:&lt;br&gt;
&lt;a href="https://github.com/islammohsen/FirebaseDao" rel="noopener noreferrer"&gt;https://github.com/islammohsen/FirebaseDao&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am very proud of this project and I believe it was my best one!&lt;/p&gt;

&lt;p&gt;You can find the project here:&lt;br&gt;
&lt;a href="https://github.com/polamokh/HomeEats-Android" rel="noopener noreferrer"&gt;https://github.com/polamokh/HomeEats-Android&lt;/a&gt;&lt;/p&gt;

</description>
      <category>octograd2020</category>
    </item>
    <item>
      <title>Stickers Programming Quotes</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Wed, 20 May 2020 15:56:52 +0000</pubDate>
      <link>https://dev.to/raamyy/stickers-programming-quotes-1m76</link>
      <guid>https://dev.to/raamyy/stickers-programming-quotes-1m76</guid>
      <description>&lt;p&gt;Hello all 👋&lt;/p&gt;

&lt;p&gt;I am Ramy, Software Engineering student in Egypt.🐫 &lt;/p&gt;

&lt;p&gt;I run a small business here which is responsible for creating cool STICKERS for developers &lt;em&gt;and other categories&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;I am looking forward to hear from you some short, and funny quotes that can fit in a sticker and you would be happy to have it STICKED on your laptop!&lt;/p&gt;

&lt;p&gt;Quotes Example: &lt;code&gt;I wear 👓 Because I don't C#.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Be creative and don't hesitate to comment even if it is a silly quote 😹&lt;/p&gt;

</description>
      <category>stickers</category>
      <category>quotes</category>
      <category>programming</category>
      <category>funny</category>
    </item>
    <item>
      <title>Egypt's First Hacktoberfest Event !</title>
      <dc:creator>Ramy Gamal</dc:creator>
      <pubDate>Wed, 30 Oct 2019 18:28:45 +0000</pubDate>
      <link>https://dev.to/raamyy/egypt-s-first-hacktoberfest-event-lic</link>
      <guid>https://dev.to/raamyy/egypt-s-first-hacktoberfest-event-lic</guid>
      <description>&lt;h1&gt;
  
  
  who are we ?
&lt;/h1&gt;

&lt;p&gt;We are &lt;strong&gt;Open Source Community&lt;/strong&gt; -casually we call it OSC-, a student community that resides in &lt;strong&gt;Computer Science&lt;/strong&gt; - Ain Shams University, Cairo, Egypt.&lt;br&gt;
We organise many events during the year as we make &lt;strong&gt;workshops&lt;/strong&gt;, help students install linux and many other events.&lt;/p&gt;

&lt;h1&gt;
  
  
  Get to Git
&lt;/h1&gt;

&lt;p&gt;We are proud to organise the first Hacktoberfest event in Egypt ! The event was called " &lt;strong&gt;Get to Git&lt;/strong&gt; " on 28 October.&lt;br&gt;
It included a talk about &lt;strong&gt;open source&lt;/strong&gt;, other talk about an &lt;strong&gt;introduction to git and GitHub&lt;/strong&gt; and how are they used and at last a &lt;strong&gt;session&lt;/strong&gt; to help students start using git.&lt;/p&gt;

&lt;p&gt;You can check the event &lt;a href="https://www.facebook.com/pg/oscgeeks/photos/?tab=album&amp;amp;album_id=1438570919642610&amp;amp;__xts__%5B0%5D=68.ARAmKCsqFWJtjn66Q-H0DWPuEooq89wCYsSVvr3OJzgOHdJgUtoA9WIdnUgcXpKWc81g67UxOqDyqa4Emo50A0Jeh3hr6YiCGyw8mrWwXsJ3nejoGhkTdVNEH6w59oNOuw0KFawf8scbH7nu8JfTzXr_zT4k5RD6y2tZRNNFfzJCo86alYlz2p24tbowIOHk6KI7yQTbYweeruU1HOUEwXiqnTiZBYVx-O6I7UpZiaYw8nqACRyhqfD5bW9GIinjtU-ZCsmXkuETIR8v_NZoX1IDTHx9nqgHNosmEBTXCPHOKlvcBWqQ-cUC-B9vUIfwtHm50-Q9Bmo8Pe-IZncJ-q7pJvn9N0rMDKXK-kTzAMkxLCc6Wk5xh9vGQsqoz1tVohzWW-IIgWqZPrbRifawIJmmNMfMqwcQ&amp;amp;__tn__=H-R" rel="noopener noreferrer"&gt;photos&lt;/a&gt; and &lt;a href="http://tiny.cc/gitSessionSlides" rel="noopener noreferrer"&gt;slides&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you have any question leave me a comment :D.&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>eventsinyourcity</category>
      <category>git</category>
      <category>github</category>
    </item>
  </channel>
</rss>
