<?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: Qoddi App Platform</title>
    <description>The latest articles on DEV Community by Qoddi App Platform (@qoddiapps).</description>
    <link>https://dev.to/qoddiapps</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%2Forganization%2Fprofile_image%2F4686%2Fb03389a1-13b9-41f6-9117-d7a6fa3da8a8.png</url>
      <title>DEV Community: Qoddi App Platform</title>
      <link>https://dev.to/qoddiapps</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/qoddiapps"/>
    <language>en</language>
    <item>
      <title>Migration guide: Heroku to Qoddi</title>
      <dc:creator>Alexandre Gonzales</dc:creator>
      <pubDate>Thu, 25 Aug 2022 22:39:06 +0000</pubDate>
      <link>https://dev.to/qoddiapps/migration-guide-heroku-to-qoddi-5b76</link>
      <guid>https://dev.to/qoddiapps/migration-guide-heroku-to-qoddi-5b76</guid>
      <description>&lt;p&gt;&lt;a href="https://qoddi.com"&gt;Qoddi App Platform&lt;/a&gt; allows you to deploy code directly from GitHub and includes all the tools and features your app needs to thrive! Free plan includes 3 free apps for testing and micro-services.&lt;/p&gt;

&lt;p&gt;Migrating from Heroku to &lt;a href="https://qoddi.com"&gt;Qoddi App Platform&lt;/a&gt; is very easy and requires a small amount of time. &lt;a href="https://devcenter.qoddi.com/migration-guide-heroku-to-qoddi/"&gt;This guide&lt;/a&gt; will guide you in the process on moving your app from Heroku to Qoddi, including databases, Redis and Docker containers.&lt;/p&gt;

&lt;p&gt;Some add-ons are not (yet) available on Qoddi, like Sparkpost email sending library and may need to be included in your code using the language library. We do our best to onboard third-party add-ons on Qoddi as quickly as possible.&lt;/p&gt;

&lt;p&gt;Qoddi works seamlessly with GitHub and supports most of Heroku buildpacks. The main difference between Qoddi and Heroku is that Qoddi doesn’t require any configuration file or CLI to use, everything is managed from the Qoddi dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pre-requisites
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create a free account on &lt;a href="https://qoddi.com"&gt;https://qoddi.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Add a valid credit card to your account&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Migration Steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Understanding the difference between Qoddi and Heroku infrastructures&lt;/li&gt;
&lt;li&gt;Create your app on Qoddi&lt;/li&gt;
&lt;li&gt;Configure Environment variables&lt;/li&gt;
&lt;li&gt;Install Adminer to import data to PostgreSQL and import data&lt;/li&gt;
&lt;li&gt;Update DNS configuration&lt;/li&gt;
&lt;li&gt;Troubleshoot the build process&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Understanding the differences between Qoddi and Heroku infrastructures
&lt;/h2&gt;

&lt;p&gt;The way Qoddi and Heroku host your apps and route data inside the network is fairly different. Here’s what you need to be aware of before starting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Qoddi’s infrastructure uses a modern, serverless implementation. Only web data is able to reach your apps no matter the port used. Pay attention to the port your app uses to be reachable from the Internet and use the same port inside your app settings on Qoddi (that can be 80,8080, 3306 or whatever port your choose to use).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Qoddi’s internal network always route the traffic depending on what your app needs. For instance it will never route web queries to a database and all the internal traffic is encrypted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Datastores created on Qoddi cannot be reached from the Internet, meaning you can’t connect to your PostgreSQL database on Qoddi from an app hosted elsewhere, this is by design and applicable to all datastores (including Redis).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Create your App on Qoddi
&lt;/h2&gt;

&lt;p&gt;From the Qoddi dashboard click +, choose the size and location of your app and connect your GitHub repository. You can also select a datastore (Postgres if coming from Heroku) directly during the app creation phase, your app will have all the parameters to connect to the database automatically set up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configure Environment Variables
&lt;/h2&gt;

&lt;p&gt;It’s critical to keep all sensitive information inside the Environment Variables instead of your code (like database passwords or third-party keys). Qoddi doesn’t support .env files and requires that all environment variables be created from the Qoddi Dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Adminer add-on for Postgres and Import Data
&lt;/h2&gt;

&lt;p&gt;Adminer is free app available on Qoddi’s Marketplace to manage your PostgreSQL database. Click “Marketplace” from the Qoddi dashboard and launch Adminer inside the same stack of your database (if the database is created)&lt;/p&gt;

&lt;p&gt;Adminer is created as a Web-App inside the same stack and can be accessed using the Qoddi’s URL.&lt;/p&gt;

&lt;p&gt;To connect to your Postgres database check the internal name, username and password from the database settings page:&lt;/p&gt;

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

&lt;p&gt;Use the same value to connect to your database using Adminer:&lt;/p&gt;

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

&lt;p&gt;And voila! From Adminer you can import your .SQL file from Heroku.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note : You can uses Adminer to connect to your Heroku PostgreSQL app directly from Qoddi to export your SQL file.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Update DNS configuration
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Note: this feature is not available for Free apps&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Add your domain name to your Qoddi app :&lt;/p&gt;

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

&lt;p&gt;Copy the CNAME record and create a CNAME from your DNS provider (&lt;a href="https://devcenter.qoddi.com/how-can-i-connect-my-domain-name-with-flashdrive/"&gt;here’s a detailed procedure&lt;/a&gt;) :&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Troubleshoot the build process
&lt;/h2&gt;

&lt;p&gt;Visit the Deploy tab of your app to see the last deployment and access the build log. This will give you a detailed view of the build process and, if the build failed, the exact reason.&lt;/p&gt;

&lt;p&gt;The log tab can also be helpful if your app doesn’t start. Most of the cases, it’s because the app port used by your code is different that the one set up by default on Qoddi; adjusting the app port will fix this issue.&lt;/p&gt;

&lt;p&gt;If you have any issues, don’t delete your app yet! Most of the cases it’s an easy fix, &lt;a href="https://devcenter.qoddi.com/contact-us/"&gt;contact us&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>heroku</category>
      <category>devops</category>
      <category>webdev</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Host your NodeJS app for free</title>
      <dc:creator>Alexandre Gonzales</dc:creator>
      <pubDate>Tue, 19 Apr 2022 20:02:34 +0000</pubDate>
      <link>https://dev.to/qoddiapps/host-your-nodejs-app-for-free-5g1m</link>
      <guid>https://dev.to/qoddiapps/host-your-nodejs-app-for-free-5g1m</guid>
      <description>&lt;p&gt;NodeJS are super easy and very convenient to start with but finding reliable hosting solutions that are free for developers is not easy at all. In this post we will see how to deploy, build and host a NodeJS app on &lt;a href="https://qoddi.com/?t=dev-nodejs" rel="noopener noreferrer"&gt;Qoddi App Platform&lt;/a&gt;. Qoddi is free for developers (no credit card required) and super affordable to use in production, can scale limitless and includes all your app needs to run.&lt;/p&gt;

&lt;p&gt;Qoddi also includes a large catalog of Databases including MongoDB and PostgreSQL that can be deployed for free at the same time of your app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy your NodeJS App Free
&lt;/h2&gt;

&lt;p&gt;Start by creating a free account on &lt;a href="https://qoddi.com/?t=dev-nodejs" rel="noopener noreferrer"&gt;Qoddi App Platform&lt;/a&gt; and log into your new account. Then, follow the steps below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fork the &lt;a href="https://github.com/qoddiapps/getting-started-with-node" rel="noopener noreferrer"&gt;Getting Started with Node&lt;/a&gt; repository to your GitHub account,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Go to Qoddi and Click + on the dashboard page to create a new app.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choose a name, a location and if you want to deploy a database at the same time:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fertmzwcoq1f81zbotag6.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%2Fertmzwcoq1f81zbotag6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Select GitHub as your Git provider and add the repository you forked before:&lt;/li&gt;
&lt;/ul&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%2Fiwdzjg18lo9a09fuptlm.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%2Fiwdzjg18lo9a09fuptlm.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Verify the details of your app and Click "Launch My App",&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for Qoddi to import your code, build and deploy your NodeJS app and that's it! Your app is live:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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%2Fujwb8dxbuex00mdon6z0.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%2Fujwb8dxbuex00mdon6z0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Do more
&lt;/h2&gt;

&lt;p&gt;In this tutorial we covered the basic deployment of a NodeJS App. To continue there is several ressources you can consult:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://app.qoddi.com/marketplace/?cat=1d" rel="noopener noreferrer"&gt;Qoddi's Marketplace&lt;/a&gt; contains a lot of databases you can deploy for Free including MongoDB, PostgreSQL, Redis, etc.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://devcenter.qoddi.com/node-js/" rel="noopener noreferrer"&gt;Qoddi's Dev Center&lt;/a&gt; dedicated NodeJS page&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://blog.qoddi.com" rel="noopener noreferrer"&gt;Qoddi's blog&lt;/a&gt; where we post content about Node and other languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy deploying your NodeJS app for free with &lt;a href="https://qoddi.com/?t=dev-nodejs" rel="noopener noreferrer"&gt;Qoddi App Platform&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>node</category>
      <category>cloud</category>
      <category>hosting</category>
      <category>app</category>
    </item>
    <item>
      <title>Create a static version of your blog using WordPress, Gatsby and FlashDrive.io</title>
      <dc:creator>Alexandre Gonzales</dc:creator>
      <pubDate>Wed, 03 Nov 2021 00:41:58 +0000</pubDate>
      <link>https://dev.to/qoddiapps/create-a-static-version-of-your-blog-using-wordpress-gatsby-and-flashdriveio-29m2</link>
      <guid>https://dev.to/qoddiapps/create-a-static-version-of-your-blog-using-wordpress-gatsby-and-flashdriveio-29m2</guid>
      <description>&lt;p&gt;
  complete tutorial and source
  &lt;a href="https://blog.flashdrive.io/create-and-host-a-blog-using-gatsby-and-ghost-headless-cms/"&gt;https://blog.flashdrive.io/create-and-host-a-blog-using-gatsby-and-ghost-headless-cms/&lt;/a&gt; 

&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://flashdrive.io"&gt;FlashDrive.io&lt;/a&gt;, we use every day and love modern, static frameworks like Gatsby, Hugo, Jekyll, and others.&lt;/p&gt;

&lt;p&gt;Gatsby, with its huge community and user base, is the first framework to have a complete build add-on developed on FlashDrive, and we love playing with Gatsby every day.&lt;/p&gt;

&lt;p&gt;It's also great that Gatsby comes with a large set of plugins to connect with various CMS like WordPress, Ghost, etc.&lt;/p&gt;

&lt;p&gt;In this post, we'll see why it's popular (and actually a good idea) to mix a dynamic CMS like WordPress with a static website generator like Gatsby.&lt;/p&gt;

&lt;p&gt;The main advantage to this setup is that you will keep WordPress what it does best: providing a good CMS with a ton of features and integration. Then use Gatsby to deliver a static version of your content without any risk of a hacked plugin and the ability to handle massive traffic even on small configurations like Dev (or ideally Web) FlashDrive instances.&lt;/p&gt;

&lt;p&gt;We will install WordPress, add the GraphQL plugin, and install and Gatsby on FlashDrive.io to create a static website that rebuilds automatically each time your website is modified, all of that using FlashDrive's unique network and security capabilities and only using FREE dev instances on FlashDrive!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://flashdrive.io"&gt;FlashDrive.io&lt;/a&gt; is Free for developers, register today to try Gatsby with WordPress for free.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>wordpress</category>
      <category>node</category>
    </item>
  </channel>
</rss>
