<?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: yarvinh</title>
    <description>The latest articles on DEV Community by yarvinh (@yarvinh).</description>
    <link>https://dev.to/yarvinh</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%2F401439%2F033b9c17-9f65-4151-96b5-90be60fcb61a.png</url>
      <title>DEV Community: yarvinh</title>
      <link>https://dev.to/yarvinh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yarvinh"/>
    <language>en</language>
    <item>
      <title>Upcoming Full-Stack project</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Thu, 29 Jul 2021 23:15:13 +0000</pubDate>
      <link>https://dev.to/yarvinh/upcoming-full-stack-project-30c2</link>
      <guid>https://dev.to/yarvinh/upcoming-full-stack-project-30c2</guid>
      <description>&lt;p&gt;In the upcoming weeks I plan to refactor my third Ruby On Rails project which I created as part of the Flatiron School curriculum. I will create a frontend view using JavaScript and fix a few small issues. &lt;/p&gt;

&lt;h2&gt;
  
  
  App
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;My future app will have users. Users will be created by an admin. For example, if a company has a new employee, the admin will create a user for the employee. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The app will have work orders. The admin will create a location which is the address where the employee will complete the work order. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The app will have work orders. Work orders are tasks  the employee has to do on a specific date. Once the employee finish all the tasks then the employee can close the work order. Otherwise, the work order will be pending. This work order will be saved in the database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Employees will be able to punch in and punch out. All the hours completed from Monday to Friday will be stored in the database and automatically give you a total of hours an employee worked. The employee account will not need personal information, no address or ss number. I don't want to compromise user's info because I don't have enough experience authenticating.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the frontend this website will show picture of apartments that were renovated. The pictures will be in an embedded Instagram feed.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The App also will have the business info and will tell if they need employees.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tech
&lt;/h2&gt;

&lt;p&gt;This project will be my first real challenge. I will give it my best.I plan to use SQL database, activeRecord and Ruby on Rails. I will make a flow chart to map how the data will flow and how it will be stored. I will use nested roots, for example, if the work order belongs to 'employee/1' then the root of the work order will be  'employees/1/workoders/1'. I will use gem 'core' to allow me fetch the info from javascript. I will use gem 'bcrypt' to protect the passwords. In the frontend i will use React. I will use React Router for all the roots. Redux to manipulate the data in the frontend and thunk and axios to fetch the data from the backend.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;A small project like this one will give me more practice for future projects. The good thing about it, there are a lot of people who want to help me and they want me to succeed. I don't feel alone, and it keeps me motivated. In this business, it all depends on me if I succeed or not and one thing I know for sure is that I will not give up.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Flatiron School Graduate: Reflections and Future Goals</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Thu, 29 Jul 2021 20:53:43 +0000</pubDate>
      <link>https://dev.to/yarvinh/flatiron-school-graduate-reflections-and-future-goals-11bo</link>
      <guid>https://dev.to/yarvinh/flatiron-school-graduate-reflections-and-future-goals-11bo</guid>
      <description>&lt;p&gt;As I reach the end of the Flatiron School coding bootcamp, I would like to share my thoughts and plans for the future.&lt;/p&gt;

&lt;h1&gt;
  
  
  Tech learned
&lt;/h1&gt;

&lt;p&gt;Flatiron school gave me the tools I needed to learn how to code. I learned Ruby first which I think is easier to learn than javaScript. Next I learned SQL and learned how to manipulate the database with activeRecord and Ruby on Rails. I completed classes to learn the backend, and then Javascript to display information and interact with users in the frontend. I also learned React and Redux for the state management.&lt;/p&gt;

&lt;h1&gt;
  
  
  Future plans
&lt;/h1&gt;

&lt;p&gt;For now until I find a job, I will work on my own projects. I hope to start making websites for small businesses. I know many construction businesses and they all want their own website. Now I can provide that service to them. I want to get better especially in the backend because I really like it. I want to get better in authenticating and protecting the user information. I want to improve my skills with Ruby and I want to learn another backend programming language. I already know how to work with an object-oriented language and I think will be easier for me to learn another language.&lt;/p&gt;

&lt;h1&gt;
  
  
  Final thoughts
&lt;/h1&gt;

&lt;p&gt;This is the start of a new career. I'm glad I learned how to code because I like coding. I've done a lot of different type of jobs for a living. Most of the them I do because I have to pay bills. I'm currently working in the electrical field. I like to fix things and I like to know how things work. Everything has a logic and once you understand it, you'll never forget. Coding is the same way. You have to solve problems and that is not boring for me. The time go so fast when I'm coding and sometimes when I can't figure out something, I fall asleep thinking about it. I drive thinking about it, I walk thinking about it until I figure it out. I will keep pushing myself to get better at this because I don't want to be an average programmer I want to be one of the best.&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>firstyearincode</category>
    </item>
    <item>
      <title>React, Redux and Ruby on Rails Final Project</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Thu, 22 Jul 2021 02:24:08 +0000</pubDate>
      <link>https://dev.to/yarvinh/react-redux-and-ruby-on-rails-final-project-5fb8</link>
      <guid>https://dev.to/yarvinh/react-redux-and-ruby-on-rails-final-project-5fb8</guid>
      <description>&lt;p&gt;For my final Flatiron school project, I decided to build an app related to my favorite sport, soccer. My wife and I enjoy watching soccer and before any big game, we bet among ourselves which team will be the winner. I thought that it would be a good idea to create a soccer betting app. I built the app using React, React-router, Redux and Ruby on Rails.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Users have the ability to login, logout and sign-up for the app. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users can see upcoming soccer matches without login in. They can filter matches by competition such as Premier League, La Liga or Champions League.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users can see teams that participate in a competition without login in.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When a user signs up for the app, they get a $1000 credit to bet on games.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If a user is logged in, they can bet on upcoming matches. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users can like upcoming matches and see a count of how many people also liked it.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;While I was building this app, I learned the most about Redux. I learned to use connected components, how to connect React with Redux and most important how everything works together. I created multiple reducers and then used combineReducers to bring them all together. I also used Thunk Middleware to dispatch async calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;After a year of hard work, I'm ready to graduate from Flatiron school. After I pass my final project, I will add features that I didn't have time to include such as giving the users the ability to comment on upcoming games. I also want to learn more about authentication and security. In the future, I want to concentrate my learning on database and authentication. &lt;/p&gt;

</description>
      <category>react</category>
      <category>redux</category>
      <category>rails</category>
    </item>
    <item>
      <title>Javascript and Ruby on Rails Project</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Tue, 13 Jul 2021 00:58:32 +0000</pubDate>
      <link>https://dev.to/yarvinh/javascript-and-ruby-on-rails-project-51g</link>
      <guid>https://dev.to/yarvinh/javascript-and-ruby-on-rails-project-51g</guid>
      <description>&lt;p&gt;For my 4th project I had to build an app using Ruby On Rails for the backend and Javascript for the frontend. I wanted to create an app that would solve a real life problem. When I am working, I often have to go buy materials from Home Depot or other hardware stores and sometimes I misplace the receipts. I decided to build an app that let me track the materials I buy for any job. &lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;This app let me create a location. Once a location is created the app lets me create a receipt for this location. Once the receipt is created then I can add items with a price to the receipt. The app will calculate the total of all items in the  receipt: Locations have receipts =&amp;gt; receipts have items.&lt;/p&gt;

&lt;p&gt;This app uses vanilla Javascript and Webpack. I  used fetch to enable edit and delete functionality in the database. For the database, I used SQL using Activerecord and Ruby on Rails.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons learned
&lt;/h2&gt;

&lt;p&gt;Javascript is a powerful programing language with many libraries and frameworks that I'm interested in learning. To mention some of them React, Redux, Angular and Vue. I learned a lot working on this project. Building an app with Javascript and Ruby is easier than I thought thanks to all the geniuses who contributed to those libraries that make the job easy. I learned how to make HTTP requests using the Fetch API. I remember years ago I took a Javascript class, and I had to use XMLHttpRequest to make requests. It was complicated and more manual so using fetch is a lot easier. I also got a better understanding of using classes and I improved a lot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I liked working with JavaScript and I want to learn more about it. I can go to homedepot.com, click on an item and view more information about that item. To someone that doesn't know programming, it may seem like magic but now I understand that it is JavaScript doing work. Even though I enjoy working on the backend, I want to continue learning about JavaScript and all that it can do.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>ruby</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Final Ruby on Rails project for Flatiron School</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Tue, 13 Apr 2021 01:32:23 +0000</pubDate>
      <link>https://dev.to/yarvinh/final-ruby-on-rails-project-for-flatiron-school-49a</link>
      <guid>https://dev.to/yarvinh/final-ruby-on-rails-project-for-flatiron-school-49a</guid>
      <description>&lt;p&gt;For my final Ruby on Rails project, I created an app for a small business that deals with building maintenance and small  repairs in NYC. &lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;This app can track employees as they complete work orders: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can create work orders for each employee and assign tasks and an address where they will do the repairs.&lt;/li&gt;
&lt;li&gt;Employees can comment and reply in the work order. This is a nice feature in case you want to ask someone for an idea or you want to give a description to your boss of what was done. &lt;/li&gt;
&lt;li&gt;&lt;p&gt;This app will also track the hours the employee works each day. They will be able to punch-in and punch-out.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Employees and admins can login and logout.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Only admin can create an account for an employee. Once an account is created, the employee can login with a username and password or Facebook single-sign on. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Lessons learned
&lt;/h2&gt;

&lt;p&gt;I built this app for my school project but I'm planning to use it in real life. I have to learn more about security and I know it is risky to expose personal information with it. Before, when I used to visit a website like a bank, Home Depot or Facebook, I didn't pay too much attention to the details. Now I know there is a lot of security involve behind these website. I want to get more experience in authenticating and validating to protect the database of my apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;It is clear to me that security in a website is everything, because a website that expose the users information is a broken website. I have to learn a lot about how to protect the users information and ruby on rails has a lot of tools for this.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>sql</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Inventory Tracking App using Ruby and Active Record</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Wed, 09 Sep 2020 02:09:39 +0000</pubDate>
      <link>https://dev.to/yarvinh/inventory-tracking-app-using-ruby-and-active-record-gdk</link>
      <guid>https://dev.to/yarvinh/inventory-tracking-app-using-ruby-and-active-record-gdk</guid>
      <description>&lt;p&gt;For my second project for Flatiron school, I created a MVC app using Ruby and Sinatra. The app keeps track of the inventory for a shoe store. I have a friend who owns a sneaker store so I know how important it is to track the inventory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture
&lt;/h2&gt;

&lt;p&gt;I designed the database schema as follow: Sneakers belongs to brands, brands belongs to the user who created it, users have many brands, brands have many sneakers and users have many sneakers through brands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Create and save to the database&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can create an account and login. Logged in users can create a brand of a sneaker for example Nike. They can also store additional details such as style, size, gender, price, quantity and barcode data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edit user info&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The users can edit their business name, username, email, and  change their password.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edit brands&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can edit/rename brands.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edit sneaker&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can edit their sneakers, can add to the quantity, and can subtract from sneaker quantity.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Delete Users and brands&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can delete their own account. Deleting an account also deletes all the brands and sneakers that are saved for the account. Users can delete individual and multiple brands, when a brand is deleted, the sneakers in the brand are deleted too, and users can delete individual and multiple sneakers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Search&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can search for a sneaker with the style name and the bar code number.&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I Learn?
&lt;/h2&gt;

&lt;p&gt;Now I understand the saying "more code more bugs." The more I refactored, the more bugs I found. In the end I was able to fix all issues.  Also I learned more about SQl and about using Active Record to manipulate the database. I would like to learn more because I like it. I see what I can build with the little that I know and I can't imagine the things I will be able to build with more experience. After working on this app I think I will enjoy working as a backend developer. &lt;br&gt;
&lt;a href="https://github.com/yarvinh/Inventory-app"&gt;You can check out the code on github.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>codenewbie</category>
      <category>rails</category>
    </item>
    <item>
      <title>My first Ruby CLI project</title>
      <dc:creator>yarvinh</dc:creator>
      <pubDate>Thu, 04 Jun 2020 22:21:12 +0000</pubDate>
      <link>https://dev.to/yarvinh/my-first-ruby-cli-project-1b74</link>
      <guid>https://dev.to/yarvinh/my-first-ruby-cli-project-1b74</guid>
      <description>&lt;p&gt;I'm a Flatiron school student and as part of my curriculum, I had to make a CLI app for my final Ruby project. I had a lot of ideas but I wanted to do something about my favorite sport which is soccer. I wanted the app to have three topics: World Cup, Champion League and players. The app would allow users to type a soccer player's name and get all the information about the player: competitions won, titles and more. I had this idea because when I'm watching a game, sometimes I want to know more about a particular player or the stats of the team.&lt;/p&gt;

&lt;p&gt;I created 3 Ruby classes: one for Champion league, one for World Cup, and one for players who won Ballon d'Or. I decided to scrap the data because I couldn't find a good API about soccer. I finished my app but I didn't like it. I thought it was too plain and boring. So I asked myself: what can I do with this data? How can I turn this into a different app? I came up with a new idea to create a 10 question multiple choice quiz about soccer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Methodology
&lt;/h2&gt;

&lt;p&gt;I built a scraper class that was responsible for getting the data from the web. I used 3 different urls. I built methods to scrap data and three class methods to turn the data into object. I also built a class CLI responsible for printing all multiple choice question and logic to process the questions. It lets users know if they got the answer right or wrong and gives a choice to repeat the quiz.&lt;/p&gt;

&lt;h2&gt;
  
  
  What did I learn?
&lt;/h2&gt;

&lt;p&gt;I learned more about scraping. How to get the data I want. I had a hard time with some gems. I learn a lot about how gems can help to improve an app. Every tool is out there to help your app. For example, if you work as a Mechanic and there is nut or bolt that you can't reach, you'll probably ask yourself why can't they make a better wrench to get this nut or bolt. But guess what? That tool is already out there but you don't know. Programming is the same way. I also learned how to take advantage of regular expressions. In this project, I got stuck a lot of times but the good thing is that it helped me learn how read every error and I improved my debugging skills. &lt;/p&gt;

&lt;h2&gt;
  
  
  Future plans
&lt;/h2&gt;

&lt;p&gt;I have plans to make this app better because I know that people who love soccer will like it. Some of my friends who love soccer took the quiz and they love it. In the future I will give it a better design, and more questions options. The more I learn the more ideas will come to me.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
