<?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: Fabian Ferno</title>
    <description>The latest articles on Forem by Fabian Ferno (@fabianferno).</description>
    <link>https://forem.com/fabianferno</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%2F489662%2Fd5528778-a70d-4b72-9923-9e46c3fa3054.gif</url>
      <title>Forem: Fabian Ferno</title>
      <link>https://forem.com/fabianferno</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fabianferno"/>
    <language>en</language>
    <item>
      <title>Bug Tracker, Project Management tool - The Racoon Tracker</title>
      <dc:creator>Fabian Ferno</dc:creator>
      <pubDate>Thu, 13 Jan 2022 16:42:06 +0000</pubDate>
      <link>https://forem.com/fabianferno/bug-tracker-project-management-tool-the-racoon-tracker-1b17</link>
      <guid>https://forem.com/fabianferno/bug-tracker-project-management-tool-the-racoon-tracker-1b17</guid>
      <description>&lt;h3&gt;
  
  
  Overview of Our Submission
&lt;/h3&gt;

&lt;p&gt;The "&lt;strong&gt;Racoon Tracker&lt;/strong&gt;" is an issue/project tracker that helps ease software delivery by making the whole process of tracking and keeping up with bug fixes seamless and easy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Submit, Track &amp;amp; Resolve bugs in a snap!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tracker.racoon.dev"&gt;https://tracker.racoon.dev&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Submission Category
&lt;/h3&gt;

&lt;p&gt;Choose Our Own Adventure&lt;/p&gt;




&lt;h3&gt;
  
  
  Links to Code
&lt;/h3&gt;

&lt;p&gt;Front End React App: &lt;br&gt;
&lt;a href="https://github.com/the-racoon-devs/racoon-tracker-fe-v1"&gt;https://github.com/the-racoon-devs/racoon-tracker-fe-v1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Back End Rest API: &lt;br&gt;
&lt;a href="https://github.com/the-racoon-devs/racoon-tracker-api-v1"&gt;https://github.com/the-racoon-devs/racoon-tracker-api-v1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Published API Documentation:&lt;br&gt;
&lt;a href="https://documenter.getpostman.com/view/18928487/UVXeteBv"&gt;https://documenter.getpostman.com/view/18928487/UVXeteBv&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Our Tech Stack&lt;/strong&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Design System
&lt;/h4&gt;

&lt;p&gt;Our design system is entirely built on Tailwind's beautiful CSS framework and UI kit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jGHQm6DL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/0ZAcwQj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jGHQm6DL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/0ZAcwQj.png" alt="" width="880" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Front-End
&lt;/h4&gt;

&lt;p&gt;Our front-end is built on a custom CRA boilerplate with React.js and TypeScript.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iIBnQPGZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/6khAPym.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iIBnQPGZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/6khAPym.png" alt="" width="880" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Back-End
&lt;/h4&gt;

&lt;p&gt;Our back-end is built on Express.js with the ability to scale quickly and add more functionality in the form of microservices.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VoAecbsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/7TcM6u3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VoAecbsy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/7TcM6u3.png" alt="" width="880" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Database
&lt;/h4&gt;

&lt;p&gt;MongoDB Atlas provides cloud database service using AWS, Azure, and Google Cloud. It also has various automation tools for performing various backend functionalities and comes with visualization tools. The services that are used in this project are described below.&lt;/p&gt;

&lt;p&gt;Atlas is used as the main cloud database for storing the user information and project information along with it's tickets.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EaLpS62l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ppT8DJc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EaLpS62l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/ppT8DJc.png" alt="" width="880" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Deployments
&lt;/h4&gt;

&lt;p&gt;Our React Front End is deployed over Netlify's Jamstack App Deployment platform.&lt;/p&gt;

&lt;p&gt;Our Express Back End is deployed over Railway.app cloud serverless platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  Screenshots:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--j8dPRQ7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/SEi6s8J.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--j8dPRQ7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/SEi6s8J.png" alt="" width="880" height="276"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JMbfUSp1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/BbXKvmT.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JMbfUSp1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/BbXKvmT.png" alt="" width="880" height="431"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8aNP30Mm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/FpwhNGz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8aNP30Mm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/FpwhNGz.png" alt="" width="880" height="224"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dQHet9V5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/QPBM3If.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dQHet9V5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/QPBM3If.png" alt="" width="880" height="706"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7hhVMjD0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Q93xXdv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7hhVMjD0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/Q93xXdv.png" alt="" width="880" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qXeGZzMc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/XtURRdW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qXeGZzMc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/XtURRdW.png" alt="" width="880" height="261"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Collaborators
&lt;/h3&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/fabianferno"&gt;@fabianferno&lt;/a&gt;, &lt;a href="https://twitter.com/fabianferno"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a class="mentioned-user" href="https://dev.to/thedanielmark"&gt;@thedanielmark&lt;/a&gt;, &lt;a href="https://twitter.com/the_danielmark"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;React CRA Boilerplate: &lt;a href="https://github.com/react-boilerplate/react-boilerplate-cra-template"&gt;https://github.com/react-boilerplate/react-boilerplate-cra-template&lt;/a&gt;&lt;/p&gt;

</description>
      <category>atlashackathon</category>
      <category>mongodb</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I let my discord friends control my house. Could've gone worse??</title>
      <dc:creator>Fabian Ferno</dc:creator>
      <pubDate>Sun, 20 Jun 2021 09:00:48 +0000</pubDate>
      <link>https://forem.com/fabianferno/i-let-my-discord-friends-control-my-house-gone-bad-3849</link>
      <guid>https://forem.com/fabianferno/i-let-my-discord-friends-control-my-house-gone-bad-3849</guid>
      <description>&lt;h2&gt;
  
  
  Hello World!
&lt;/h2&gt;

&lt;p&gt;Ever wondered how cool it would be to cause mayhem at your discord friend's house for fun?&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%2Fmedia1.giphy.com%2Fmedia%2FNbpSEhJcBdIouFwMsF%2Fgiphy.gif%3Fcid%3D5a38a5a2w1weawqx98knjwu6491csltzrq0jqkaox7nxkk9n%26rid%3Dgiphy.gif%26ct%3Ds" 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%2Fmedia1.giphy.com%2Fmedia%2FNbpSEhJcBdIouFwMsF%2Fgiphy.gif%3Fcid%3D5a38a5a2w1weawqx98knjwu6491csltzrq0jqkaox7nxkk9n%26rid%3Dgiphy.gif%26ct%3Ds"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Me and &lt;strong&gt;&lt;a class="mentioned-user" href="https://dev.to/joshuafrankle"&gt;@joshuafrankle&lt;/a&gt;&lt;/strong&gt; were working on a discord bot this year. We came up with cringe fest bot that played "Funny Tamil Comedy" soundtracks on command. We've been continuously adding features. It kinda evolved in a way we didn't imagine. Now we use &lt;a href="https://github.com/fabianferno/mr.robot" rel="noopener noreferrer"&gt;mr.robot&lt;/a&gt; for our server management, api-testing, wiki and more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, here it goes. I've been working with some micro-controllers lately and I thought why not bring in some IoT to the recipe. &lt;strong&gt;#mightregretthisdecision&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Although it ended up heating up my micro-controller and almost made my house look possessed, it was still worth a shot.&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%2Fyzmo2iphhc6byh077584.jpg" 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%2Fyzmo2iphhc6byh077584.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used NodeMCU 8266 - the go to micro-controller for any hobby engineers out there. Instead of going with embedded C for my programming my board, I tried MicroPython for a change and trust me - the best decision. &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%2Fmedia2.giphy.com%2Fmedia%2FLMt9638dO8dftAjtco%2Fgiphy.gif%3Fcid%3D5a38a5a25cty1c4yxb3zhki6do29hwg7lht5u481a2axskjg%26rid%3Dgiphy.gif%26ct%3Ds" 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%2Fmedia2.giphy.com%2Fmedia%2FLMt9638dO8dftAjtco%2Fgiphy.gif%3Fcid%3D5a38a5a25cty1c4yxb3zhki6do29hwg7lht5u481a2axskjg%26rid%3Dgiphy.gif%26ct%3Ds"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Moreover that gave me an headstart in integrating it with my discord bot which already written in discord.py - a python discord client library. WebREPL modules came in handy to upload the program to my board.&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%2Fmedia3.giphy.com%2Fmedia%2FxNBcChLQt7s9a%2F200w.gif%3Fcid%3D5a38a5a2t186siy1eil93svq63pqshgtnsmgu47yrhl67d5n%26rid%3D200w.gif%26ct%3Dg" 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%2Fmedia3.giphy.com%2Fmedia%2FxNBcChLQt7s9a%2F200w.gif%3Fcid%3D5a38a5a2t186siy1eil93svq63pqshgtnsmgu47yrhl67d5n%26rid%3D200w.gif%26ct%3Dg"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;h3&gt;
  
  
  Finally got everything set up and running in less than an hour.
&lt;/h3&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%2F0epi3u9lrrz3tkzdwgw5.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%2F0epi3u9lrrz3tkzdwgw5.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I got my friends to turn on fans and switch off some lights. So here's the fun - the bot had access to a discord server with almost 300 members. Quite the party. Anybody on the internet could toggle my devices. My friends started playing with my house. &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%2Fmedia4.giphy.com%2Fmedia%2Fl41YedRBFoGeyXuz6%2F200.gif%3Fcid%3D5a38a5a20avow3xphb2zj8cmxtwf3meqqrf9a81ii6bfan7w%26rid%3D200.gif%26ct%3Dg" 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%2Fmedia4.giphy.com%2Fmedia%2Fl41YedRBFoGeyXuz6%2F200.gif%3Fcid%3D5a38a5a20avow3xphb2zj8cmxtwf3meqqrf9a81ii6bfan7w%26rid%3D200.gif%26ct%3Dg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sadly, &lt;a href="https://github.com/fabianferno/mr.robot" rel="noopener noreferrer"&gt;mr.robot&lt;/a&gt;  had to be put down. I took it offline then.&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%2Fmedia1.giphy.com%2Fmedia%2F3oEjI80DSa1grNPTDq%2Fgiphy.gif%3Fcid%3D5a38a5a2keutsbt0qzajze6o7gegpf4c9xgtyrgzosyniz2c%26rid%3Dgiphy.gif%26ct%3Dg" 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%2Fmedia1.giphy.com%2Fmedia%2F3oEjI80DSa1grNPTDq%2Fgiphy.gif%3Fcid%3D5a38a5a2keutsbt0qzajze6o7gegpf4c9xgtyrgzosyniz2c%26rid%3Dgiphy.gif%26ct%3Dg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Meanwhile I'm working on more a secure way to for this discord integration. Will post my next update with regard to this security update.&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%2Fmedia4.giphy.com%2Fmedia%2FtNdcrrDxRoYSV6k2QR%2Fgiphy.gif%3Fcid%3D5a38a5a2pn1hvnivwaiw9gsq0vfhcbjwhaghygcd83uypex7%26rid%3Dgiphy.gif%26ct%3Dg" 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%2Fmedia4.giphy.com%2Fmedia%2FtNdcrrDxRoYSV6k2QR%2Fgiphy.gif%3Fcid%3D5a38a5a2pn1hvnivwaiw9gsq0vfhcbjwhaghygcd83uypex7%26rid%3Dgiphy.gif%26ct%3Dg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Here's a Bonus - &lt;strong&gt;&lt;a href="https://github.com/fabianferno/mr.robot/tree/iot" rel="noopener noreferrer"&gt;Discord Bot MicroPython WebRepl Starter Boilerplate&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow &amp;amp; Stay tuned. I will be writing a follow-up tutorial on how we bring IoT and discord bots together. The next post will have step by step tut for you to create your own IOT discord Integration. Feel free to suggest your thoughts. &lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>python</category>
      <category>discord</category>
      <category>bot</category>
      <category>iot</category>
    </item>
  </channel>
</rss>
