<?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: Joeylene</title>
    <description>The latest articles on DEV Community by Joeylene (@jorenrui).</description>
    <link>https://dev.to/jorenrui</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%2F97966%2F54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg</url>
      <title>DEV Community: Joeylene</title>
      <link>https://dev.to/jorenrui</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jorenrui"/>
    <language>en</language>
    <item>
      <title>My 2020 in Review</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Wed, 13 Jan 2021 07:07:10 +0000</pubDate>
      <link>https://dev.to/jorenrui/my-2020-in-review-549i</link>
      <guid>https://dev.to/jorenrui/my-2020-in-review-549i</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Although a little late, I decided to write my 2020 review mostly for myself especially that writing down my thoughts and experience kinda helps in clearing my messy mind. I was planning on just leaving this on private in my DayOne, but here it is 😅 Anyway, I decided to be more vulnerable in this post than last year. Tho I still left out some personal stuff hehe 👀 Also am here trying my best not to make this a diary of some sort. Welp here goes...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Although 2020 was rough, it was still one of the best years of my life. Since I quite enjoy the freedom of working and learning online rather than going to school, and this year is where I discovered, experienced, and learned a lot of new things.&lt;/p&gt;

&lt;p&gt;While my 2019 was focused on studying, building, writing, and learning, my 2020 was more on working, trying out new things and learning new techs.&lt;/p&gt;

&lt;p&gt;You can read about my 2019 here:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/my-2019-in-review-24ig" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My 2019 in Review&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Dec 31 '19 ・ 8 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#career&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#yearinreview&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;





&lt;h1&gt;
  
  
  January: Internship
&lt;/h1&gt;

&lt;p&gt;This month went by kinda fast. There was news about the Taal volcano erupting, and the nCov virus. Meanwhile, I was still a student doing my internship as a Web Developer wondering what 2020 has in store.&lt;/p&gt;

&lt;p&gt;Anyway, I was now able to adjust to my work. It was nice to know from my co-workers that I am doing an awesome job at work. If they didn't tell me that, I guess I would be stuck thinking about whether I was doing enough. Especially when I remember myself being anxious at night cause I can't wrap my head around AJAX (first time encountering it at work) and on stuff which was new to me, tho one day the ideas kinda click in which I was able to move on. Feedback helps cause sometimes I overdo myself thinking that I am falling behind which in reality I was kinda fast 😅&lt;/p&gt;

&lt;p&gt;I also became the CEO's favorite, in which I didn't like. Cause I don't really like favoritism at work, didn't want to catch unwanted attention and I only get more work assigned to me which feels kinda like a punishment at that time.&lt;/p&gt;

&lt;p&gt;So my January revolve around working and then learning ReactJS in my free time.&lt;/p&gt;

&lt;p&gt;At this time, I also finished creating this dark mode mobile app design of freeCodeCamp. Check out the &lt;a href="https://www.figma.com/community/file/930626286723519485/Mobile-App-Designs"&gt;figma file here&lt;/a&gt;&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B7BcjuWgo_E/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;





&lt;h1&gt;
  
  
  February: New Opportunity, Seminar, and Hackathon
&lt;/h1&gt;

&lt;p&gt;A friend whom I met on Twitter and haven’t met on real life, referred to me to a startup which I guess is a turning point of my career. He was amazed when he saw my ReactJS portfolio I built on Nov 2019 after a week of starting to learn it, he wanted me on board so he referred me to the new company that he is going to join this year.&lt;/p&gt;

&lt;p&gt;Although I was offered a job in my internship, I didn't want to accept it cause I don't like being micromanaged. Most of my stress comes from that.&lt;/p&gt;

&lt;p&gt;I was planning to change my stack from PHP to a MERN one. So when I learned that this companies uses NodeJS and ReactJS, I was excited to be on board. I got to talk with the CEO and the negotiation went well.&lt;/p&gt;

&lt;p&gt;Anyways, I was then asked to be a speaker at a seminar at my school. I was quite happy to see 1st years who are interested in learning more about programming. Some have some knowledge in web development, while others have some knowledge in game development. Thinking about their future is quite exciting, since I only got serious in web development in my 4th year (2017). Hopefully, this is my last time speaking. I don't really like being on stage welp.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B8v3-MfAJD_/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;At work, I was getting along with my fellow interns. I even made my friend a design since he wanted to practice his web dev skills. Here's the &lt;a href="https://www.figma.com/community/file/809292669091916902/Nuntium-Blog-UI-Design"&gt;figma file&lt;/a&gt;.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B7VpsM7gQPe/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;The three of us interns even decided to participate to a Hackathon. It was my first time joining one so I was quite excited. Me and my friends agreed to make an MVP, focusing on the essential. We manage to hack away one little Laravel app. It was nice cause my friend got to learn how to use Git, while me and my other friend gain more experience in using Git.&lt;/p&gt;

&lt;p&gt;We manage to finish it early. Tho after that we realized that we don't know who was going to pitch. The three of us were developers focused on hacking the app. Since I was the most talkative one in the group, I got assigned to the task welp. So yah, with my nervous self I researched stuff on Google, created a PPT, and decided to practice my pitch.&lt;/p&gt;

&lt;p&gt;Weirdly enough... we manage to get into the finals. The panelists were amaze at my pitch. He said that I was a pitcher that can capture emotions. Then during the Q&amp;amp;A, my friend who was quick-witted manage to come up with answers regarding the process of the app. It was reassuring to have him cause I'm not that knowledgable about business stuff and kinda lack common sense? hahaha. This is what I get for burying myself with books, manga and code.&lt;/p&gt;

&lt;p&gt;In the finals, we got to see the other participants on stage. We then realized that bruh how did we get to the finals with our little app 😬 The others were proposing apps that does a lot of things. Even though they didn't finish the app, they would talk and talk about the plans they have for the app and the features they plan to implement. This made me realize the point of the Hackathon, it was kinda like thinking of an idea for a startup. Tho I may be wrong. In the end, I kinda flop the last presentation. We didn't have facts/stats/plans to convince them. Tho we were just there to have fun, I didn't even expect we would get that far 😅 Overall, 10/10 would not do it again. The lack of sleep just made me irritable and weird lol.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B8-BC-VgKHB/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;





&lt;h1&gt;
  
  
  March: First Developer Job
&lt;/h1&gt;

&lt;p&gt;This month, I had my graduation pictorial today. Make-up sure does changes a person's look 😳&lt;/p&gt;

&lt;p&gt;Sadly, graduation was postponed due to nCov.&lt;/p&gt;

&lt;p&gt;Anyways, back to programming, my internship was finally finished this month. Then I had a week to prepare myself for my new job before my first day. I must be crazy applying as a full stack developer in a tech stack that are full of JS while I only knew ReactJS. So in that week, I tried learning NextJS, Styletron, BaseWeb, Firebase, NodeJS, KoaJS, TypeORM, and a lot of techs I still haven't learned yet. Of course, I didn't learned all that in a week. I wasn't that much of a genius and I want to have a good night sleep. &lt;/p&gt;

&lt;p&gt;So on the job, it was like a baptism by fire. I read the docs bit by bit everyday, while I work on my tasks. It was my first time seeing an API-based/micro-service architecture. Heck, I only learned what a monolith is today. I also got to learn about pre-seed, seeding, valuation, etc. It was fun. I get to learn all sorts of stuff I didn't know before and I even get to learn more about how to use Git with a team and do code reviews (yup first time doing code reviews and making a PR, guess me and my fellow interns in my previous job were doing something wrong by just pushing everything to master/main branch hahaha). Learning on the job is much more easier than by tutorials cause I get to see the production codebase and how code reviews and changes are implemented.&lt;/p&gt;

&lt;p&gt;I was also grateful cause my friend who referred me helped me to cope with the job. We would ask questions to each others about the codebase. I realize that the job became less intimidating when you have someone that you can rely on. My first dev job was a remote one so it was kinda hard, tho with his help I manage to get my footing.&lt;/p&gt;

&lt;p&gt;So with my new job, I was quite satisfied with how things are going. I get to code and learn new stuff on the job.&lt;/p&gt;




&lt;h1&gt;
  
  
  April and May: Side Projects
&lt;/h1&gt;

&lt;p&gt;As time went on, I took on more bigger tasks in my job. First it was fixing a bug, then creating components, then creating pages, etc. I was enjoying my work and I now manage to get the work-life balance thingy work that I now have time to work on some side projects.&lt;/p&gt;

&lt;p&gt;Made an app to practice the tech stack at my current company.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B9_r3bfAqkD/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Drew some pokeballs. Checkout &lt;a href="https://www.figma.com/community/file/930628213928558590/Pokeballs"&gt;figma file here&lt;/a&gt;&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B-emWaYgzQx/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Then published an article entitled "A Look into How I Manage My Personal Projects (My Git/GitHub Workflow)". Tho by now (2021), I use the &lt;a href="http://commitizen.github.io/cz-cli/"&gt;commitizen&lt;/a&gt; commit convention and didn't do squash and merge anymore. So yah, a lot has change in my workflow ever since this article has been written.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/a-look-into-how-i-manage-my-personal-projects-my-git-github-workflow-1e7h" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Look into How I Manage My Personal Projects (My Git/GitHub Workflow)&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ May 15 '20 ・ 14 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Also finished the &lt;a href="https://frontendmasters.com/workshops/design-for-devs/"&gt;Design for Developers&lt;/a&gt; course on Frontend Masters by Sarah ❤️&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B_2XRl9AD5Z/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;





&lt;h1&gt;
  
  
  June, July and August: Work and Buying Stuff
&lt;/h1&gt;

&lt;p&gt;This month, my friend from my previous school referred to me to his current company. So I worked as a frontend developer/designer to test whether I can keep up with having a part-time job. I was glad that the client liked my wireframes and designs and I taught my fellow devs things like Git, ReactJS, etc.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CA_vXnGgt1U/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Most of the months, I worked my ass off doing my full-time and part-time job. I was kinda doing stuff on a schedule since I didn't want my part time job to affect my full time job. I swore to myself that if ever my part time job gets in the way, I would cut it off.&lt;/p&gt;

&lt;p&gt;So far, my output in both jobs were good so I didn't have to worry. With that, I manage to finally buy myself a MacBook Pro 2019. I been wanting to have one ever since I learned how to code. It was really hard to use my old laptop since I can't use VSCode with ReactJS. I have to use Sublime Text to save me some RAM.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CEGtJjPg_Iq/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;I bought a Nintendo Switch, some games, a Wacom Tablet, etc. Well you get the idea. I was burning money at a faster rate hahaha. I'll hate myself later for this lol.&lt;/p&gt;

&lt;p&gt;Anyways, I also started learning Ruby and Ruby on Rails since this is what we're going to use in our new feature at work. I tried &lt;a href="https://www.theodinproject.com/"&gt;The Odin Project&lt;/a&gt; for this.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CDtND-7AsTx/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;The MVC architecture kinda reminds me of Laravel and CodeIgniter. So with that, I quickly became comfortable with Rails. Tho the syntax was new to me, it kinda grew on me after some weeks.&lt;/p&gt;




&lt;h1&gt;
  
  
  September: Hell
&lt;/h1&gt;

&lt;p&gt;This month, I decided to resign from my part-time job. Thinking about it, I have to sacrifice my side project time and time with my family for this, so I guess I had enough. Moreover, this was a bad month for the company. Due to nCov, we had to finish the on-demand courses quickly to survive.&lt;/p&gt;

&lt;p&gt;An employee just resigned so we were short by one man. I gave double the effort since I didn't want to see the company die. I was curious as to how far the company will go someday. It was kinda hard to be assigned to a big task, tho I do enjoy the freedom I have in building it. I was tasked to build it using Rails, so yeah my first Rails app, besides tutorial apps, is gonna be this one. Thankfully, with my previous knowledge of Laravel, the concepts about MVC, migration, etc. I was able to quickly adjust and finish my tasks. Designing the database and building the APIs was hella fun. Didn't expect that I will enjoy it more than the frontend I guess.&lt;/p&gt;

&lt;p&gt;In the end, we manage to survive yey. And I get to take some day-offs to recharge my batteries.&lt;/p&gt;




&lt;h1&gt;
  
  
  October and November: Side Projects and Games
&lt;/h1&gt;

&lt;p&gt;At this time, I’ve learned some &lt;a href="https://github.com/alpinejs/alpine"&gt;AlpineJS&lt;/a&gt;. I’ve also started to make a component UI library called Cionru. Although it is kinda unfinished now, I have plans for it in the future (will be related to Sutle, my current side project, and &lt;a href="https://stitches.dev/"&gt;Stitches&lt;/a&gt;). Moreover, it was my first time contributing to open source. I manage to create a PR about translating the React docs to Tagalog.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CGM8lmbgYr6/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;I also tried streaming, tho I realized that it wasn't for me after two streams. Then I played some games with my friends in my free time.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CFmsucbgt6r/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;



&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CF7GkuDAiY6/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;I also continued my studies with Rails and ReactJS. By the end of Nov, I bought Wes Bos' ES6 and ReactJS and GraphQL course. I was kinda excited cause this is my first time buying a course. Since I didn't have the money before, I was relying on free resources like freeCodeCamp for which I am truly grateful.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CII9b-IgjZg/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Overall, I spent my days studying and playing games with my friends.&lt;/p&gt;




&lt;h1&gt;
  
  
  December: ES6 and Sutle
&lt;/h1&gt;

&lt;p&gt;This month, I learned TypeGraphQL to build Sutle. I manage to finish the auth part of it (sign in, register, forgot password, etc).&lt;/p&gt;

&lt;p&gt;I learned a lot of things from this side project like testing using Jest, using Circle CI, etc.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CJjBdawAGNX/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;By the end of Dec, I manage to finish the ES6 course that I bought. I took one module a day to brush up on my ES6 skills.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/CJV6x-pAl2e/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;p&gt;Also, I'm officially a BSIT graduate 🥳.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
    &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__two-pics"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rDIIEP_d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EpA4p5FUcAEYTTV.jpg" alt="unknown tweet media content"&gt;
    &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--aAcY2c5m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1260769704622219264/Rtkd_6DK_normal.jpg" alt="Joeylene Rivera profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Joeylene Rivera
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/jorenrui"&gt;@jorenrui&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Yey am officially a college graduate! 🥳😁&lt;br&gt;&lt;br&gt;Joeylene Rivera&lt;br&gt;Bachelor of Science in Information Technology&lt;br&gt;I like to make/build stuff.&lt;br&gt;&lt;br&gt;&lt;a href="https://twitter.com/hashtag/Classof2020"&gt;#Classof2020&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      05:36 AM - 12 Dec 2020
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1337632273387069440" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1337632273387069440" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1337632273387069440" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;





&lt;h1&gt;
  
  
  Reflection...
&lt;/h1&gt;

&lt;p&gt;This year was kinda wild since it took my work to a whole new level. From only knowing Laravel, PHP, Bootstrap and jQuery, I went on to become a Full Stack developer that has NextJS, ReactJS, NodeJS and Rails under my tool belt.&lt;/p&gt;

&lt;p&gt;Tho unlike 2019, I was not that active on Twitter anymore. Tho tbh, I don't like being on social media cause I kinda feel that I'm not good enough. Also I like being in my own little world. Tho I can't deny that Twitter has helped me get my first developer job. I used it to make myself known. By creating CodePens and writing blogs then sharing it on Twitter. It also helped me to connect with amazing people.&lt;/p&gt;

&lt;p&gt;Anyways here's a short version of my dev journey:&lt;/p&gt;

&lt;p&gt;Learn web dev at freeCodeCamp &amp;gt; share blog posts/projects on Twitter &amp;gt; finish my Thesis &amp;gt; build a portfolio &amp;gt; Use thesis and portfolio to get internship &amp;gt; get first dev job thru referrals &amp;gt; graduate&lt;/p&gt;

&lt;p&gt;Although I kinda wrote this on a happy note, there were days when I cried, been frustrated, been angry, etc. I just didn't want to write it cause it's kinda personal.&lt;/p&gt;

&lt;p&gt;Sadly, this 2021, I decided to resign from my full-time job. I have a list of reasons to stay to help me make decisions, so when my deal breaker regarding the tech stack got ticked off, I decided it's time to go. Tho I also got a lot of things on my mind when making that decision. It was fun and I learned a lot. It was also kinda of a bittersweet cause I can't deny that I enjoyed the time I had there and the code that I've built was one of the things that I want to treasure and keep on improving. If things were different, I really want to stay and work on it until it's all grown up. Anyway, I'll be unemployed by the end of January. It's sad and scary but I guess I still need to move forward. Although I am sad, in the end, it was my decision so I gotta trust my guts.&lt;/p&gt;

&lt;p&gt;With that, I was planning to continue my side project for the next two months then try to apply as a Full Stack Dev. I was also curious as to how employable I am, since there's a pandemic, I'll be able to see whether I'll be able to find a job that I like or not. Tho I am only able to do this cause I don't have much responsibility yet and I live with my parents. So after a couple of years, I need to be financially responsible to be able to do this again if ever I needed one. For now, I'm gonna be a free loader in the upcoming months 😅&lt;/p&gt;

&lt;p&gt;With that thank you for reading this long post of mine 😁&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>yearinreview</category>
    </item>
    <item>
      <title>A Look into How I Manage My Personal Projects (My Git/GitHub Workflow)</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Fri, 15 May 2020 10:59:12 +0000</pubDate>
      <link>https://dev.to/jorenrui/a-look-into-how-i-manage-my-personal-projects-my-git-github-workflow-1e7h</link>
      <guid>https://dev.to/jorenrui/a-look-into-how-i-manage-my-personal-projects-my-git-github-workflow-1e7h</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;I'll discuss how I create and manage my projects using Git/GitHub. Also, I'll be tackling how I use GitHub's project boards, issues, and pull requests.&lt;/p&gt;

&lt;p&gt;Note: This is NOT a comprehensive tutorial about Git/GitHub so I won't dive deep into those topics.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@yancymin" rel="noopener noreferrer"&gt;Yancy Min&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Like anyone who first started using Git, when I start working on a project, I just create a GitHub repository then commit directly to the &lt;code&gt;master&lt;/code&gt; branch. I don't &lt;em&gt;branch out&lt;/em&gt; from &lt;code&gt;master&lt;/code&gt; whenever I'm working on a feature or a bug fix.&lt;/p&gt;

&lt;p&gt;Tho as I started growing, meeting new devs, and gain experience in working as a developer, I started to rethink my way of creating projects. Since most of my commits are "Fix typo", "Refactor code", and commits like "Welp" lol, my git logs ended up kinda messy. So with that, I decided to re-work my workflow 😉&lt;/p&gt;

&lt;p&gt;PS: Although this is my GitHub workflow, you can also do it on &lt;a href="https://about.gitlab.com/" rel="noopener noreferrer"&gt;GitLab&lt;/a&gt; or other git hosting providers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Project Overview&lt;/li&gt;
&lt;li&gt;Setting up&lt;/li&gt;
&lt;li&gt;Project Boards&lt;/li&gt;
&lt;li&gt;
Issues and Milestones

&lt;ul&gt;
&lt;li&gt;Milestones&lt;/li&gt;
&lt;li&gt;
Issues

&lt;ul&gt;
&lt;li&gt;Task Issue&lt;/li&gt;
&lt;li&gt;Epic Issue&lt;/li&gt;
&lt;li&gt;Bug Report&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
GitHub Templates

&lt;ul&gt;
&lt;li&gt;Branching out&lt;/li&gt;
&lt;li&gt;
Templates

&lt;ul&gt;
&lt;li&gt;Task Issue Template&lt;/li&gt;
&lt;li&gt;Epic Issue Template&lt;/li&gt;
&lt;li&gt;Bug Report Template&lt;/li&gt;
&lt;li&gt;Pull Request Template&lt;/li&gt;
&lt;li&gt;Commiting&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Pull Request&lt;/li&gt;
&lt;li&gt;Merging Branches&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  1. Project Overview &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;For this post, I'm gonna create the frontend of a book database app wherein I can store books that I've read and books I'm planning to read.&lt;/p&gt;

&lt;p&gt;Why create a specific app?&lt;/p&gt;

&lt;p&gt;I just prefer explaining my workflow using an existing app, rather than an app called "my-awesome-project" as I did in the past. Tho I'm not gonna finish it hahaha or will I? I'll just use it for explanations. I'll also be using &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VS Code&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Setting Up &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;a. To get started, let's create a folder for the repository and set up the initial files.&lt;/p&gt;

&lt;p&gt;In this case, I named the folder &lt;code&gt;hondana-app&lt;/code&gt; and worked on a &lt;a href="https://www.styletron.org/getting-started/#with-nextjs" rel="noopener noreferrer"&gt;NextJS-Styletron&lt;/a&gt;-&lt;a href="https://baseweb.design/getting-started/setup/" rel="noopener noreferrer"&gt;Baseweb&lt;/a&gt; initial setup.&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%2Fi%2Fw69ox3pyx3nsi0r56rkd.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%2Fi%2Fw69ox3pyx3nsi0r56rkd.png" alt="Visual Studio Code with a Google Chrome browser on top that says "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. Then initialize the project as a git repository using either the "Initialize Repository" button found in VS Code or by running &lt;code&gt;git init&lt;/code&gt; in a terminal.&lt;/p&gt;

&lt;p&gt;c. Afterward, let's do an &lt;strong&gt;Initial Commit&lt;/strong&gt; like so:&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%2Fi%2Fsdkc0y7atvq628ab4ekz.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%2Fi%2Fsdkc0y7atvq628ab4ekz.png" alt="VS Code with the version control sidebar opened"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d. After that, it's time to use GitHub 😁 Btw I just google translate "bookshelf" to Japanese, in case you're curious about the name, &lt;code&gt;hondana app&lt;/code&gt;.&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%2Fi%2Fpk0r71zruchfdifmfngt.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%2Fi%2Fpk0r71zruchfdifmfngt.png" alt="Creating a GitHub repository"&gt;&lt;/a&gt;&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%2Fi%2Fz3r42030ohshxviqnnpa.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%2Fi%2Fz3r42030ohshxviqnnpa.png" alt="A new GitHub repository that doesn't have files yet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;e. Then let's push the initial commit. But first gotta add the remote origin:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git remote add origin https://github.com/jorenrui/hondana-app.git
git push &lt;span class="nt"&gt;-u&lt;/span&gt; origin master


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;f. Now we are all done setting up!&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%2Fi%2Fopvfvropag2492pl2r4j.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%2Fi%2Fopvfvropag2492pl2r4j.png" alt="A GitHub repostiory that has an initial commit"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Project Boards &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In GitHub, you can create &lt;strong&gt;project boards&lt;/strong&gt; to manage your repository. With this, you can put all your notes and tasks (&lt;em&gt;issues&lt;/em&gt; and &lt;em&gt;pull requests&lt;/em&gt;) in a single place.&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%2Fi%2F8odshzrexdvb7ip2pk6c.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%2Fi%2F8odshzrexdvb7ip2pk6c.png" alt="Empty Project Tab of a GitHub Repository"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To create a project board, go to your repository. After that, go to the &lt;strong&gt;Projects Tab&lt;/strong&gt; then click &lt;strong&gt;Create a project&lt;/strong&gt; like how it is shown above.&lt;/p&gt;

&lt;p&gt;For now, I'm going to name it as &lt;strong&gt;Hondana App&lt;/strong&gt;. This project board is gonna be a roadmap for the app. Tho you can create multiple project boards for a single repository. For example, you may create a project board for your app's documentation, frontend, backend, etc.&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%2Fi%2Fi8asnr9qkc3hd7j11lae.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%2Fi%2Fi8asnr9qkc3hd7j11lae.png" alt="Creating a new GitHub project board"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub also has a project template in which you can use. A &lt;em&gt;Kanban Board&lt;/em&gt; has a Todo, In Progress, and Done column. As for me, I prefer using an &lt;em&gt;automated kanban with reviews&lt;/em&gt;. With this, when issues and pull requests are automatically moved from To Do, In progress, Reviews and Done. Tho if you're the only one on a project then I suggest the &lt;em&gt;automated kanban&lt;/em&gt; since there will be no code reviews.&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%2Fi%2Fx50p99l4ltywvszsce46.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%2Fi%2Fx50p99l4ltywvszsce46.png" alt="Seleting a GitHub's Project Template"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This board has five columns: Todo, in progress, review in progress, reviewer approved, and done. When you create a pull request, it will be added into the &lt;em&gt;In progress&lt;/em&gt; column. When a code review is being done, it will move to &lt;em&gt;Review in progress&lt;/em&gt;, if the reviewer has accepted your Pull Request, it will then be moved to &lt;em&gt;Reviewer approved&lt;/em&gt;. Lastly, when you merge the pull request into the "master" branch it will be then be moved to &lt;em&gt;Done&lt;/em&gt;.&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%2Fi%2Fx6y6bpbcf676zxxebp5n.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%2Fi%2Fx6y6bpbcf676zxxebp5n.png" alt="An automated GitHub Project Board"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since this board is an automated one, we don't necessarily need to touch it. We just need to links our issues and pull requests to this board. I'll show you how to do it in the next part.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Issues and Milestones &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Since the project board is all set up, let's now move on to creating some issues. Issues can either be tasks that you need to do or bugs that your application has.&lt;/p&gt;

&lt;h3&gt;
  
  
  Milestones &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Tho before creating issues, first we need to create &lt;strong&gt;Milestones&lt;/strong&gt;. These can be the goals you have for your app. It can also be the versions of your app. As for me, I use milestones in versioning my app.&lt;/p&gt;

&lt;p&gt;For example, for the initial version of the hondana app, I plan to finish the following features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User Authentication&lt;/li&gt;
&lt;li&gt;View a list of books that I plan to read, currently reading, and have read&lt;/li&gt;
&lt;li&gt;Add books wherein I can put status like to read, reading, and done&lt;/li&gt;
&lt;li&gt;Delete the books in the app&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the second version of the app, I plan to finish the following features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add notes to books I have read&lt;/li&gt;
&lt;li&gt;Add reviews and give a 5-star rating to the books that I have read&lt;/li&gt;
&lt;li&gt;Add search functionalities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With this, all the issues and pull requests related to that version can be organized into a single milestone.&lt;/p&gt;

&lt;p&gt;a. To start, go to the &lt;strong&gt;Issues Tab&lt;/strong&gt; of the repository, then click &lt;strong&gt;Milestones&lt;/strong&gt;.&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%2Fi%2F195n4ldotknjbtzga7h7.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%2Fi%2F195n4ldotknjbtzga7h7.png" alt="A GitHub repo's Issue Tab that has no content yet."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;b. After that, click &lt;strong&gt;Create a Milestone&lt;/strong&gt; to create one.&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%2Fi%2Fvens2lshni0ezhc4gs6t.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%2Fi%2Fvens2lshni0ezhc4gs6t.png" alt="A GitHub repo's milestone tab content"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;c. Then input the title of your milestone. Here, I put &lt;strong&gt;v1&lt;/strong&gt; as the milestone's title. You can also add a deadline in you want.&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%2Fi%2Fxi6pjaosm7fnhye9sgko.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%2Fi%2Fxi6pjaosm7fnhye9sgko.png" alt="Creating a new milestone in GitHub"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d. With this, you can now view your created milestones under Issues tab &amp;gt; Milestones.&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%2Fi%2Fj8ffoy9lo648n4a7v9wd.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%2Fi%2Fj8ffoy9lo648n4a7v9wd.png" alt="A GitHub repo's milestone tab that has a v1 milestone"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;e. By clicking the milestone, you can easily see all the issues that are linked to it.&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%2Fi%2Fxfgjuazlxd23c4tzvxls.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%2Fi%2Fxfgjuazlxd23c4tzvxls.png" alt="v1 milestone that doesn't have any issues yet"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Issues &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In creating you can either create it by going to the &lt;em&gt;Issues Tab&lt;/em&gt; of your repository, like the image shown below, or by going into a specific milestone.&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%2Fi%2F582u25nywjzf56up24qi.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%2Fi%2F582u25nywjzf56up24qi.png" alt="A GitHub's repo Issue Tab wherein the "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In creating issues, a friend of mine taught me how I can categorize them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Task Issue&lt;/strong&gt; - a small task that can be part of an Epic Issue. This can be labeled as a "good first issue".&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Epic Issue&lt;/strong&gt; - a large task that is divided into small issues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug Report&lt;/strong&gt; - it contains information that is needed to fix a bug that the user has encountered.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To understand them a bit more, let's create our first issue.&lt;/p&gt;

&lt;h4&gt;
  
  
  Task Issue &lt;a&gt;&lt;/a&gt;
&lt;/h4&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%2Fi%2F10lbvs6kn2m7i9a6352y.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%2Fi%2F10lbvs6kn2m7i9a6352y.png" alt="A sample task issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this part, I'll show you how to create GitHub templates, but first, let's create those issues.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Issue Title&lt;/strong&gt;. As you can see, I named the issue title as &lt;em&gt;Task: Add Github Templates&lt;/em&gt; since this is a task issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;. There's a format I follow in creating issues wherein I write the following:

&lt;ul&gt;
&lt;li&gt;Task Title&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Linked Epic Issue (optional)&lt;/li&gt;
&lt;li&gt;In this case, there's no linked epic issue yet. I'll show you the format in a bit.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Assignees&lt;/strong&gt;. I assigned it to myself since I'm the only one working on this project.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Labels&lt;/strong&gt;. GitHub has default labels in which you can use. Tho you may customize it and add some new ones if you want. Anyways, Tasks/Epics are commonly labeled as "enhancement" or "documentation". Tho in this case, I decided to add "enhancement" as its label since I think of templates as features.&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%2Fi%2Fe3uhz1acq50ftrsfuhym.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%2Fi%2Fe3uhz1acq50ftrsfuhym.png" alt="GitHub's list of labels"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Projects&lt;/strong&gt;. By adding the project board that we've made earlier, we may now see the issues' progress. As you can see, linking the issue will automatically put it to the &lt;em&gt;Todo&lt;/em&gt; column of the board. Since this is an automated project board, you don't need to move this card by yourself.&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%2Fi%2Flba666k2q40dw5hogpa2.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%2Fi%2Flba666k2q40dw5hogpa2.png" alt="A Project Board that contains a single task issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Milestones&lt;/strong&gt;. After linking the issue to the &lt;em&gt;v1&lt;/em&gt; milestone of the app. You can now see the issue under it.&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%2Fi%2Fym63bxctya0dysu6apdh.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%2Fi%2Fym63bxctya0dysu6apdh.png" alt="A v1 milestone that contains single issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since the task issue is done, we can now move on to the &lt;em&gt;Epic Issue&lt;/em&gt;.&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%2Fi%2F5h8q8l144hjoziqd8l2r.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%2Fi%2F5h8q8l144hjoziqd8l2r.png" alt="A GitHub task issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Epic Issue &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Now, let's create an epic issue regarding the library page of the application.&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%2Fi%2Fcpubhj64o4x7k2k4q4z1.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%2Fi%2Fcpubhj64o4x7k2k4q4z1.png" alt="A sample epic issue"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Issue Title&lt;/strong&gt;. As you can see, I named the issue title as "Feature: Library Page" since this is an epic issue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;. There's a format I follow in creating epic issues wherein I write the following:

&lt;ul&gt;
&lt;li&gt;Epic Title&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;List of Tasks&lt;/li&gt;
&lt;li&gt;In this case, the task issues aren't linked yet since those issues haven't been created yet.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Assignees&lt;/strong&gt;. I assigned it to myself since I'm the only one working on this project.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Labels&lt;/strong&gt;. I added the &lt;code&gt;enhancement&lt;/code&gt; label. Since this is a feature request.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Projects&lt;/strong&gt;. Adding it will automatically put the issue card into the &lt;strong&gt;To Do&lt;/strong&gt; column of the project board:&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%2Fi%2Fmm1qd0zdq2ug0xwitiee.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%2Fi%2Fmm1qd0zdq2ug0xwitiee.png" alt="A project board that contains two issues"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Milestones&lt;/strong&gt;. Linking it to the &lt;strong&gt;v1&lt;/strong&gt; milestone will make it appear under it. Also since the epic issue is composed of tasks, you'll see the progress of the issue based on the checklist like shown below:&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%2Fi%2Fl09t8lcmielxlq0pe2ch.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%2Fi%2Fl09t8lcmielxlq0pe2ch.png" alt="A v1 milestone that contains two issues"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since the epic issue is created, let's now create those tasks.&lt;/p&gt;

&lt;p&gt;In these tasks, we can now link its epic parent which is &lt;code&gt;Feature: Library Page #2&lt;/code&gt;.&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%2Fi%2F724ho1mwfiqnzex1utku.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%2Fi%2F724ho1mwfiqnzex1utku.png" alt="A task issue with the title of "&gt;&lt;/a&gt;&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%2Fi%2Fplgniavs1znegniildiq.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%2Fi%2Fplgniavs1znegniildiq.png" alt="Issues tab that contains a lot of issues"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After creating all the tasks, we can now &lt;strong&gt;update&lt;/strong&gt; the epic issue and link the tasks.&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%2Fi%2F55gxejqfv2fayvpxugdg.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%2Fi%2F55gxejqfv2fayvpxugdg.png" alt="An epic issue highlighting the linked tasks"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, you're all done.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bug Report &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Since the &lt;em&gt;Hondana App&lt;/em&gt; has no bugs yet, let me show a sample &lt;a href="https://github.com/jorenrui/create-project/issues/12" rel="noopener noreferrer"&gt;bug in my create-project repo&lt;/a&gt;.&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%2Fi%2Fhcm3w9fwxk0nljxeyav0.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%2Fi%2Fhcm3w9fwxk0nljxeyav0.png" alt="A sample bug report"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Issue Title&lt;/strong&gt;. As you can see, I named the issue title as "Bug: Fix broken links in npm" since this is a bug report.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Description&lt;/strong&gt;. There's a format I follow in creating bugs wherein I write the following:

&lt;ul&gt;
&lt;li&gt;Title&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Steps to reproduce the bug (optional)&lt;/li&gt;
&lt;li&gt;Expected result (optional)&lt;/li&gt;
&lt;li&gt;Actual result (optional)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Assignees&lt;/strong&gt;. I assigned it to myself since I'm the only one working on this project.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Labels&lt;/strong&gt;. I added the &lt;code&gt;bug&lt;/code&gt; label. Since this is a bug report.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Projects&lt;/strong&gt;. Adding it will automatically put the issue card into the &lt;strong&gt;To Do&lt;/strong&gt; column of the project board.&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  5. GitHub Templates &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Now it's time to show you how to create GitHub templates! So in this part we'll be working on this issue: &lt;a href="https://github.com/jorenrui/hondana-app/issues/1" rel="noopener noreferrer"&gt;Task: Add GitHub Templates #1&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Branching Out &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Whenever I'm working on a feature request or bug fix. I first create a branch from the &lt;code&gt;master&lt;/code&gt; branch (sometimes it can be the &lt;code&gt;develop&lt;/code&gt; branch).&lt;/p&gt;

&lt;p&gt;For naming the branch I follow this format:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bug Fix: &lt;code&gt;hotfix-issue-name&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Feature Request: &lt;code&gt;feature-issue-name&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So in this example, I'll create &lt;code&gt;feature-github-templates&lt;/code&gt; from the &lt;code&gt;master&lt;/code&gt; branch:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Create a branch named `feature-github-templates` from the current branch&lt;/span&gt;
git checkout &lt;span class="nt"&gt;-b&lt;/span&gt; feature-github-templates


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then you'll automatically be switch to your newly created branch. After that let's create the template files.&lt;/p&gt;

&lt;h3&gt;
  
  
  Templates &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;To create some GitHub templates, create a folder named &lt;code&gt;.github&lt;/code&gt; in the root directory of your app name. That's where your templates will reside.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Create a directory/folder named `.github`&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; .github


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then create a folder named &lt;code&gt;ISSUE_TEMPLATE&lt;/code&gt;. This is where the templates for the task, epic, and bug issue will reside.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Create a directory/folder named 'ISSUE_TEMPLATE' under `.github`&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; .github/ISSUE_TEMPLATE


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then create the files for the issue templates and the pull request template.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Create the markdown files&lt;/span&gt;
&lt;span class="nb"&gt;touch&lt;/span&gt; .github/ISSUE_TEMPLATE/bug_report.md
&lt;span class="nb"&gt;touch&lt;/span&gt; .github/ISSUE_TEMPLATE/epic_issue.md
&lt;span class="nb"&gt;touch&lt;/span&gt; .github/ISSUE_TEMPLATE/small_issue.md
&lt;span class="nb"&gt;touch&lt;/span&gt; .github/PULL_REQUEST_TEMPLATE.md


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The created files will be like this:&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%2Fi%2F1430698vyptcrn8o9xfm.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%2Fi%2F1430698vyptcrn8o9xfm.png" alt="The root directory of the app shown in tree view"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Task Issue Template &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;small_issue.md&lt;/code&gt; will contain the following:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;

---&lt;/span&gt;
name: Task
&lt;span class="gh"&gt;about: A small task that is, most likely, part of an Epic. It will usually be labeled as `good first issue`.
---
&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- Issue title should mirror the Task Title. --&amp;gt;&lt;/span&gt;

&lt;span class="gh"&gt;# Task Title&lt;/span&gt;

Task: Awesome Task Title

&lt;span class="gu"&gt;## Task Description&lt;/span&gt;

This Task will...

&lt;span class="gu"&gt;## Epic Parent&lt;/span&gt;

&lt;span class="c"&gt;&amp;lt;!-- The link below should link to its Epic Parent. --&amp;gt;&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Feature: Awesome Feature Title&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/username/repository-name/issues/1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Epic Issue Template &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;epic_issue.md&lt;/code&gt; will contain the following:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;

---&lt;/span&gt;
name: Epic
&lt;span class="gh"&gt;about: A task large enough that it needs to be divided into smaller tasks. It will usually be labeled as `enhancement`.
---
&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- Issue title should mirror the Epic Title. --&amp;gt;&lt;/span&gt;

&lt;span class="gh"&gt;# Epic Title&lt;/span&gt;

Feature: Awesome Feature Title

&lt;span class="gu"&gt;## Epic Description&lt;/span&gt;

This Feature will...

&lt;span class="gu"&gt;## List of Tasks (Complete in order)&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt; ] [Task 1: Awesome Task Title&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/username/repository-name/issues/1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;2.&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt; ] [Task 2: Awesome Task Title&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/username/repository-name/issues/2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="sb"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Bug Report Template &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;bug_report.md&lt;/code&gt; will contain the following:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="p"&gt;

---&lt;/span&gt;
name: Bug report
&lt;span class="gh"&gt;about: Create a report to help us improve
---
&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- Please search existing issues to avoid creating duplicates. --&amp;gt;&lt;/span&gt;

&lt;span class="gh"&gt;# Bug Report&lt;/span&gt;

Bug: Not so Awesome Bug Title

&lt;span class="gu"&gt;## Description&lt;/span&gt;

Info about the bug goes here.

&lt;span class="gu"&gt;### Steps to Reproduce&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Step 1
&lt;span class="p"&gt;2.&lt;/span&gt; Step 2

&lt;span class="gu"&gt;### Expected Result&lt;/span&gt;

The expected result was...

You may write the expected result or add a screenshot.

&lt;span class="gu"&gt;### Actual Results&lt;/span&gt;

The actual result was...

Would be awesome to link screenshots here and/or error messages received.&lt;span class="sb"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Pull Request Template &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Lastly, the &lt;code&gt;PULL_REQUEST_TEMPLATE.md&lt;/code&gt; will contain the following:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;

&lt;span class="gh"&gt;# Story Title&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;This is the Issue Title&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://github.com/username/repository-name/issues/1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="gu"&gt;## Changes made&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; made this
&lt;span class="p"&gt;-&lt;/span&gt; did that

&lt;span class="gu"&gt;## How does the solution address the problem&lt;/span&gt;

This PR will...

&lt;span class="gu"&gt;## Linked issues&lt;/span&gt;

Resolves #1&lt;span class="sb"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Commiting &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;After making the files, we make now commit the changes made and push our newly made branch along with our commits to &lt;code&gt;origin&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git add &lt;span class="nb"&gt;.&lt;/span&gt;
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s1"&gt;'Add GitHub Templates'&lt;/span&gt;
git push &lt;span class="nt"&gt;--set-upstream&lt;/span&gt; origin feature-github-templates


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;When &lt;code&gt;feature-github-templates&lt;/code&gt; has been merged with &lt;code&gt;master&lt;/code&gt;. You'll now see the templates whenever you create an issue or create a pull request:&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%2Fi%2Fzxvyj5xhv05kyscv9tvx.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%2Fi%2Fzxvyj5xhv05kyscv9tvx.png" alt="GitHub Issue Templates"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Pull Request &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Now that we're all done with creating GitHub Templates, we may now create a &lt;em&gt;Pull Request&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;When you check out your repository, your recently pushed branches are shown. You may click the &lt;strong&gt;Compare &amp;amp; pull request&lt;/strong&gt; button to create a PR.&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%2Fi%2F57ezrspm9vsnmmqhnnyy.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%2Fi%2F57ezrspm9vsnmmqhnnyy.png" alt="Comparing a recently pushed branch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or you may go to the &lt;code&gt;feature-github-templates&lt;/code&gt; branch and click &lt;strong&gt;pull request&lt;/strong&gt; like what is shown below:&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%2Fi%2Fjlmipqtsmjxp3no1afjw.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%2Fi%2Fjlmipqtsmjxp3no1afjw.png" alt="Seleting a branch and creating a pull request"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then let's now create a Pull Request, we'll be comparing it to the &lt;code&gt;master&lt;/code&gt; branch.&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%2Fi%2Fkfy4x5za6sve2g13bhsy.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%2Fi%2Fkfy4x5za6sve2g13bhsy.png" alt="A sample of opening a pull request"&gt;&lt;/a&gt;&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%2Fi%2Fyp1500va6e9asj8enm5t.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%2Fi%2Fyp1500va6e9asj8enm5t.png" alt="A sample pull request"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you have &lt;strong&gt;reviewers&lt;/strong&gt;, then you're code will be subject to &lt;em&gt;approval&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;The format of the Pull Request is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PR Title&lt;/strong&gt;. The title of the PR is based on the issue that it is going to resolve.

&lt;ul&gt;
&lt;li&gt;Task Issue: &lt;code&gt;Task: Issue Name&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Epic Issue: &lt;code&gt;Feature: Issue Name&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Bug Report: &lt;code&gt;Hotfix: Issue Name&lt;/code&gt; or can be a custom name regarding the fix.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Story Title&lt;/strong&gt;. This is the issue name.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Changes Made&lt;/strong&gt;. This is your commit summary. You may add jargon here and additional technical details regarding the change.
For example:

&lt;ul&gt;
&lt;li&gt;Add Redux as a state container&lt;/li&gt;
&lt;li&gt;Add Theme Provider&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;How does the solution address the problem&lt;/strong&gt;. It will contain an explanation for normal people.
For example:
This PR will add the ability to login and logout of the application.&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Linked Issues&lt;/strong&gt;. Adding &lt;code&gt;resolves #IssueNo&lt;/code&gt; will automatically close the linked issue when the pull request has been merged. See GitHub's &lt;a href="https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue" rel="noopener noreferrer"&gt;Linking a pull request to an issue&lt;/a&gt; for more information.&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  7. Merging Branches &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;When I merge branch I prefer &lt;strong&gt;Squash and merge&lt;/strong&gt;. This action &lt;em&gt;squashes&lt;/em&gt; the branch into one commit before merging. I'll explain in a bit as to why I prefer this.&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%2Fi%2Fpajmjmpaax57ivsncb4s.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%2Fi%2Fpajmjmpaax57ivsncb4s.png" alt="Merging a pull request"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;EDIT: I don't use squash and merge anymore since it greatly affects the history. Now, I prefer a normal git merge with commit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After picking &lt;strong&gt;Squash and merge&lt;/strong&gt;, you'll be able to add the commit message. Like shown on the image below:&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%2Fi%2Fz7kdzbj0p6c06dncg51j.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%2Fi%2Fz7kdzbj0p6c06dncg51j.png" alt="GitHub's squash and merge form"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the commit message:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Title&lt;/strong&gt;. The title is based on the PR title and the name of the issue that it resolves.

&lt;ul&gt;
&lt;li&gt;Epic Issue: &lt;code&gt;[Finishes #IssueNo] Feature: PR Title #PRNo&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Task Issue: &lt;code&gt;[Finishes #IssueNo] Task: PR Title #PRNo&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Bug Report: &lt;code&gt;[Hotfix #IssueNo] PR Title #PRNo&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Description&lt;/strong&gt;. The description is copied from the PR's description.&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;After merging it, it will now create the merge commit and the PR in the project board will automatically be moved to Done. Then you may now delete the branch.&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%2Fi%2Fx4u4o9pegr14qs1o80is.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%2Fi%2Fx4u4o9pegr14qs1o80is.png" alt="GitHub's after merging a PR info"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then delete the branch from my local repository:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# Switch to master branch&lt;/span&gt;
git checkout master

&lt;span class="c"&gt;# Delete `feature-github-templates` branch&lt;/span&gt;
git branch &lt;span class="nt"&gt;-d&lt;/span&gt; feature-github-templates


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The commit will now be like this:&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%2Fi%2F2wutw8milnhdvgdih54x.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%2Fi%2F2wutw8milnhdvgdih54x.png" alt="Commit Log"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is useful when you're creating a &lt;a href="https://keepachangelog.com/en/1.0.0/" rel="noopener noreferrer"&gt;changelog&lt;/a&gt; and when you're working on a legacy project that has tons of features. You will easily see the changes and the info regarding each commit. This is why I prefer squash and merge. Also, I tend to create commits like "Refactor code" and "Fix typo", so seeing a clean log of commits is refreshing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;In managing your repositories, you can create project boards to organize your issues and pull request. Then add milestones in versioning your app. You may also organize your issues into three categories: task, epic, and bug report. Lastly, merge your pull request.&lt;/p&gt;

&lt;p&gt;That's just one way of managing your project. You can make it your own by customizing it like adding some tests or GitHub actions. It's all up to you. Experiment and see what works best for you 😉.&lt;/p&gt;

&lt;p&gt;Thanks for reading and happy coding 👩‍💻&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>github</category>
    </item>
    <item>
      <title>My 2019 in Review</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Tue, 31 Dec 2019 11:50:48 +0000</pubDate>
      <link>https://dev.to/jorenrui/my-2019-in-review-24ig</link>
      <guid>https://dev.to/jorenrui/my-2019-in-review-24ig</guid>
      <description>&lt;p&gt;This is the first time I'm doing a Year-end Review. Luckily, I made a 2019 accomplishment list so it was easy to think back what happened. In this post, I'm going to share what I've been doing organizing them by months. Time to look back and wrapped up my year! 😁&lt;/p&gt;




&lt;h2&gt;
  
  
  January: A new beginning
&lt;/h2&gt;

&lt;h3&gt;
  
  
  freeCodeCamp Survey Form
&lt;/h3&gt;

&lt;p&gt;Although I finished the old front end development curriculum of &lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt;, I wanted to try out the projects in the new curriculum. So I decided to build the &lt;a href="https://www.freecodecamp.org/learn/responsive-web-design/responsive-web-design-projects/build-a-survey-form/"&gt;freeCodeCamp survey form&lt;/a&gt;. Remembering that time, I was also trying out some functionalities like &lt;code&gt;tabindex&lt;/code&gt;. &lt;a href="https://jorenrui.gitlab.io/fcc-survey-form/"&gt;Demo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vNVejaW3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ee0aw5hk5dq5n7h0xfzb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vNVejaW3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ee0aw5hk5dq5n7h0xfzb.png" alt="FCC Survey Form" width="880" height="421"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--An7eLqP1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pw884ata386orf6hl9ur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--An7eLqP1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/pw884ata386orf6hl9ur.png" alt="FCC Survey Form" width="880" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

    Check out the &lt;a href="https://gitlab.com/jorenrui/fcc-survey-form"&gt;Repository&lt;/a&gt; on the development process.



&lt;h3&gt;
  
  
  Created an Instagram account
&lt;/h3&gt;

&lt;p&gt;I've known Instagram for years but only used it this January. I just dump mostly my web dev journey or whatever I'm doing there.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/BsKrL4eAseh/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;

    &lt;a href="https://www.instagram.com/p/BsKrL4eAseh/"&gt;Wireframes&lt;/a&gt;. My first Instagram Post





&lt;h3&gt;
  
  
  Been learning Laravel
&lt;/h3&gt;

&lt;p&gt;Although I already know Code Igniter, I decided to go with Laravel for my capstone project. While we were on the system analysis and design phase, I decided to study Laravel. Also, I decided to make a prototype of our capstone project with it to practice what I learned. Traversy Media's &lt;a href="https://www.youtube.com/watch?reload=9&amp;amp;v=EU7PRmCpx-0"&gt;Laravel From Scratch Series&lt;/a&gt; and reading the &lt;a href="https://laravel.com/docs/6.x"&gt;Laravel Docs&lt;/a&gt; helped.&lt;/p&gt;




&lt;h2&gt;
  
  
  February: Writing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Publishing my first blog post on DEV.to
&lt;/h3&gt;

&lt;p&gt;Most of February was filled with school classes, researching, and learning some Laravel. In the last week of February, I decided to write a blog post entitled &lt;a href="https://dev.to/jorenrui/my-web-development-process-part-1-design-7l1"&gt;My Web Development Process Part I: Design&lt;/a&gt;. Of course, my motivation in writing it was the deadline. Lol it was a school requirement haha. We were tasked to create three blog posts. I decided to go with the topic that I am most fond of, web development. Also, I decided to publish it on DEV.to cause why not?&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/my-web-development-process-part-1-design-7l1" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My Web Development Process Part 1: Design&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Feb 25 '19 ・ 8 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#design&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  March: SAD and Blog Posts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Designed a Login Page
&lt;/h3&gt;

&lt;p&gt;I was picked as a speaker for a seminar, a project requirement in school. I decided with a topic I am most confident with, web development. Mostly turning design into code. Though it didn't go that well cause I just realized that I got too many slides haha. Guess, lesson learned. Anyways, I started becoming more interested in web design.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/Buf11CIAtRh/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;

    &lt;a href="https://www.instagram.com/p/Buf11CIAtRh/"&gt;Login Page&lt;/a&gt;





&lt;h3&gt;
  
  
  Published two articles
&lt;/h3&gt;

&lt;p&gt;This month I've been mostly focusing on the two blog posts. I published &lt;a href="https://dev.to/jorenrui/my-web-development-process-part-2-code-2c91"&gt;My Web Development Process Part II: Code&lt;/a&gt; on March 04. Then I published &lt;a href="https://dev.to/jorenrui/6-ways-to-deploy-your-personal-websites--php-mysql-web-apps-for-free-4m3a"&gt;6 Ways to Deploy your Personal Websites / PHP+ MySQL Web Apps for Free&lt;/a&gt; on March 20 which I didn't expect would receive a lot of likes.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/my-web-development-process-part-2-code-2c91" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My Web Development Process Part 2: Code&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Mar 4 '19 ・ 6 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/6-ways-to-deploy-your-personal-websites--php-mysql-web-apps-for-free-4m3a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;6 Ways to Deploy your Personal Websites / PHP+ MySQL Web Apps for Free&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Mar 20 '19 ・ 21 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#deployment&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#netlify&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#heroku&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Passed the System Analysis and Design (SAD) Defense
&lt;/h3&gt;

&lt;p&gt;After working on the blog posts, I then focused on the upcoming defense. Fortunately, my team and I were able to pass the SAD defense hehe.&lt;/p&gt;




&lt;h2&gt;
  
  
  April - May: Teaching...
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Google Map Mobile App in Dark Mode
&lt;/h3&gt;

&lt;p&gt;I started my summer break with designing a &lt;a href="https://dribbble.com/shots/6298029-Travel-Map-Mobile-App-Night-Mode"&gt;Google Map Mobile App in Dark Mode&lt;/a&gt;. Although this isn't the first time I created a mobile app design. The first one was when I entered a contest last two years (?). I decided to do some wireframes and prototyping using Adobe XD Beta.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/Bv6yjLFBeyY/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  First time teaching
&lt;/h3&gt;

&lt;p&gt;So here's the story, I was invited to go swimming by my hs friends. I impulsively said &lt;em&gt;yes&lt;/em&gt; but I realized I got no money. Yah hahaha sometimes I forget to think. So I decided to work as a Computer Instructor teaching computer fundamentals for a week. Although it was not my thing, I did enjoy traveling to different &lt;em&gt;barangays&lt;/em&gt; and meeting some new people. Teaching a variety of people, some of which are much older than me and some were younger, I learned to adjust my teaching methods based on who I'm teaching. Being polite and patient with the &lt;em&gt;mothers&lt;/em&gt;, and getting along with the teens. After a week, I got some money to go swimming and some pocket money hehe. Yey party time! Also, April is my birth month.&lt;/p&gt;




&lt;h2&gt;
  
  
  June - July: A month filled with designs and vector art
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Created some more designs
&lt;/h3&gt;

&lt;p&gt;In June, I decided to create some more designs. I've designed a Profile UI Card in &lt;a href="https://www.instagram.com/p/BySXi5-ADD8/"&gt;Dark&lt;/a&gt; and &lt;a href="https://www.instagram.com/p/BySX1iRA---/"&gt;White&lt;/a&gt; Mode. Moreover, I updated my &lt;a href="https://www.instagram.com/p/BySXsjiggIo/"&gt;logo&lt;/a&gt;. The design for it was inspired by JavaScript.&lt;/p&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/BySXi5-ADD8/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;
&lt;br&gt;
&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/BySX1iRA---/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;
&lt;br&gt;
&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/BySXsjiggIo/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;


&lt;h3&gt;
  
  
  Created some vector arts
&lt;/h3&gt;

&lt;p&gt;July is a month of vector arts for me. To summarize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;07 Finished the &lt;a href="https://www.instagram.com/p/BzmtZj7gT78/"&gt;designs for the school website&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;17 Finished a &lt;a href="https://www.instagram.com/p/B0CvaQNAhDB/"&gt;vector art of my bf&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;20 Created a &lt;a href="https://www.instagram.com/jorenrui"&gt;new Instagram Account&lt;/a&gt; to dump my vector arts and web designs&lt;/li&gt;
&lt;li&gt;21 Finished &lt;a href="https://www.instagram.com/p/B0KPiy5Jupk/"&gt;Skull Hayman Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;22 Finished &lt;a href="https://www.instagram.com/p/B0N4bMKJUMJ/"&gt;Tsinelas Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;23 Finished &lt;a href="https://www.instagram.com/p/B0QqutrpFUx/"&gt;King Hayman Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;23 Finished &lt;a href="https://www.instagram.com/p/B0TYZ5IJsoe/"&gt;Pencil Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;30 Finished &lt;a href="https://www.instagram.com/p/B0i78XLHv4o/"&gt;Laptop and Mouse Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B0QqutrpFUx/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;

    &lt;a href="https://www.instagram.com/p/B0QqutrpFUx/"&gt;King Hay men&lt;/a&gt;. Bow down to the King of Hay men.





&lt;h3&gt;
  
  
  GitHub Mobile App Design
&lt;/h3&gt;

&lt;p&gt;One of the designs I've made unexpectedly got a lot of likes on Twitter. At the time of this design, there wasn't any official GitHub mobile app yet. Though by the end of the year, &lt;a href="https://github.com/mobile"&gt;GitHub for mobile&lt;/a&gt; was announced. There's now an &lt;a href="https://github.com/mobile/beta?platforms=ios"&gt;iOS beta&lt;/a&gt; of GitHub. You can also join the &lt;a href="https://github.com/mobile/beta?platforms=android"&gt;Android Beta wishlist&lt;/a&gt;.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YKwNnuPQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EAd9cN6VAAAffIG.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--7MFeU2_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1207787265914597376/pTiXQPM4_normal.jpg" alt="Joeylene Rivera profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Joeylene Rivera
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/jorenrui"&gt;@jorenrui&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Don't wanna code today 😅 So I decided to change the design of GitHub's mobile app ✨&lt;br&gt;&lt;br&gt;&lt;a href="https://t.co/Lys0R1szSo"&gt;dribbble.com/shots/6849495-…&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      08:18 AM - 27 Jul 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1155029769617985536" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1155029769617985536" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1155029769617985536" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;

    &lt;a href="https://www.instagram.com/p/B0acWUznJK1/"&gt;Instagram&lt;/a&gt;.








&lt;h2&gt;
  
  
  August: Capstone and Vector Arts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Made some progress with the capstone project
&lt;/h3&gt;

&lt;p&gt;After finishing the website last July, I started working on the &lt;a href="https://github.com/jorenrui/spccweb/releases/tag/v0.1"&gt;school website&lt;/a&gt;. Then we had our Capstone Defense.&lt;/p&gt;

&lt;h3&gt;
  
  
  More vector arts
&lt;/h3&gt;

&lt;p&gt;I was still on the momentum of creating vector arts despite working on my capstone project. I was able to put out four vector arts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;06 Finished &lt;a href="https://www.instagram.com/p/B00w_DSHNWj/"&gt;Fire and Water Slime Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;22 Finished &lt;a href="https://www.instagram.com/p/B1eGokTHdIE/"&gt;Avatar Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;16 Finished &lt;a href="https://www.instagram.com/p/B1OjtXbntft/"&gt;Fire Slime Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;12 Finished &lt;a href="https://www.instagram.com/p/B1EEBQkHaVW/"&gt;Coffee Mug Vector Art&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="instagram-position"&gt;
  &lt;iframe id="instagram-liquid-tag" src="https://www.instagram.com/p/B1OjtXbntft/embed/captioned/"&gt;
  &lt;/iframe&gt;
  
&lt;/div&gt;





&lt;h2&gt;
  
  
  September: Capstone and more coffee
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Focused on my capstone project
&lt;/h3&gt;

&lt;p&gt;This month, I decided to focus more on my capstone project. It was a lot of work but I can see my Laravel skills improving.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media ltag__twitter-tweet__media__video-wrapper"&gt;
        &lt;div class="ltag__twitter-tweet__media--video-preview"&gt;
          &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zCrE5AVR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/ext_tw_video_thumb/1174394265771761665/pu/img/h8b9zW3OgQjIrInQ.jpg" alt="unknown tweet media content"&gt;
          &lt;img src="/assets/play-butt.svg" class="ltag__twitter-tweet__play-butt" alt="Play butt"&gt;
        &lt;/div&gt;
        &lt;div class="ltag__twitter-tweet__video"&gt;
          
            
          
        &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--7MFeU2_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1207787265914597376/pTiXQPM4_normal.jpg" alt="Joeylene Rivera profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Joeylene Rivera
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/jorenrui"&gt;@jorenrui&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      I'm back 😆 Been busy due to this 👇 After finishing the school website, I then proceeded to the eGrades System. Tho still have a lot to do like locking of grades, file upload, print, etc.&lt;br&gt;&lt;br&gt;Techs I've used: select2, particle.js, quilljs, argon dashboard, spatie/laravel-permission 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      18:50 PM - 18 Sep 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1174395345356214272" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1174395345356214272" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1174395345356214272" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  Finished "JavaScript Grammar" by Greg Sidelkinov
&lt;/h3&gt;

&lt;p&gt;Although I was working with PHP, I still wanted to sharpen my JavaScript skills. Mostly because I also wanted to learn ReactJS in the future. By this time, the author decided to give away some free pdf version of the book for a limited time. I was able to get a copy of it. You can buy the book &lt;a href="https://www.amazon.com/JavaScript-Grammar-Greg-Sidelnikov/dp/1091212163"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Btw I've been also reading other books, it's just it isn't programming related.&lt;/p&gt;




&lt;h2&gt;
  
  
  October: Thesis and ReactJS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Thesis Defended
&lt;/h3&gt;

&lt;p&gt;Though I did work on a &lt;a href="https://www.instagram.com/p/B3KPnh2HptF/?igshid=1xrj9zr3bbvrl"&gt;Keyboard Vector Art&lt;/a&gt; at the start of the month, I mostly ended up focusing on my capstone project. After so much hard work on my capstone project, my team and I managed to defend our thesis. I feel so proud of what I've created. Tho I feel kinda sad cause I guess I'm gonna part ways with it after. I kinda grown attached to it. I kind of have a love-hate relationship with it.&lt;/p&gt;

&lt;h4&gt;
  
  
  SPCC Portal
&lt;/h4&gt;

&lt;p&gt;An electronic grading web application, integrated with a school website, built using Laravel and Bootstrap.&lt;/p&gt;

&lt;p&gt;Well, I don't really know how to summarize this...&lt;/p&gt;

&lt;p&gt;You can create a curriculum with it, create an academic term, create a class, enroll students to that class, assign an instructor to that class, then it will automatically create a schedule for the instructor (faculty load) and the student (enlistment) for the current semester. After the instructor has encoded the grades of the students, the system will take care of generating the grade slip for the student and fill up their curriculum with grades/transcript of records. So all the registrar will have to do is print the grades, after the instructor has encoded it. For the transferees, course creditation is included.&lt;/p&gt;

&lt;p&gt;For the school website side, you can create events that will show in the homepage then create some blog posts.&lt;/p&gt;

&lt;p&gt;Though there a lot of room for improvement, but my time is up. And I'm happy I'm done with it.&lt;/p&gt;

&lt;p&gt;You might want to check out the &lt;a href="https://github.com/jorenrui/spccweb"&gt;repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GpZoz6F---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zzuw8iohdfukusga3abq.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GpZoz6F---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/zzuw8iohdfukusga3abq.gif" alt="SPCC Portal" width="600" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Started learning ReactJS
&lt;/h3&gt;

&lt;p&gt;This month I started learning ReactJS. I first tried out &lt;a href="https://scrimba.com/g/glearnreact"&gt;ReactJS Course on Scrimba&lt;/a&gt;. &lt;a href="https://scrimba.com/"&gt;Scrimba&lt;/a&gt; is such a great platform to learn. The interactive screencast made it easy to learn. Moreover, I am grateful of Bob Ziroll (the instructor) for creating this. I learned a lot!&lt;/p&gt;




&lt;h2&gt;
  
  
  November: Portfolio and Internship
&lt;/h2&gt;

&lt;h3&gt;
  
  
  React Portfolio
&lt;/h3&gt;

&lt;p&gt;After finishing a &lt;a href="https://www.instagram.com/p/B4WkADOHXzI/"&gt;Excalibur Vector Art&lt;/a&gt;, I decided to start working on my new portfolio. The first version wasn't mobile-friendly and I've been thinking of changing it for the past few months. Now that I have the time, I decided on working on it. I used ReactJS in building it as practice.&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pEvq0OCe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EJbTN0CVAAAMLNY.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--7MFeU2_D--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1207787265914597376/pTiXQPM4_normal.jpg" alt="Joeylene Rivera profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Joeylene Rivera
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="mentioned-user" href="https://dev.to/jorenrui"&gt;@jorenrui&lt;/a&gt;
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ir1kO05j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      My new portfolio website is now live!&lt;br&gt;&lt;br&gt;Repository: &lt;a href="https://t.co/ZfYjQFmDAr"&gt;github.com/jorenrui/portf…&lt;/a&gt;&lt;br&gt;Website: &lt;a href="https://t.co/GGpNk4ie1y"&gt;jorenrui.netlify.com&lt;/a&gt; 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      16:16 PM - 15 Nov 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1195374993510551552" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fFnoeFxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-reply-action-238fe0a37991706a6880ed13941c3efd6b371e4aefe288fe8e0db85250708bc4.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1195374993510551552" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k6dcrOn8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-retweet-action-632c83532a4e7de573c5c08dbb090ee18b348b13e2793175fea914827bc42046.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/like?tweet_id=1195374993510551552" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SRQc9lOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/twitter-like-action-1ea89f4b87c7d37465b0eb78d51fcb7fe6c03a089805d7ea014ba71365be5171.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;

    &lt;a href="https://jorenrui.netlify.com/"&gt;Version 2 of my portfolio&lt;/a&gt;. The first version is &lt;a href="https://jorenrui.github.io/"&gt;this&lt;/a&gt; if you're curious. I made it last Nov-Dec 2017.





&lt;h3&gt;
  
  
  Internship
&lt;/h3&gt;

&lt;p&gt;After finishing my new portfolio website, I started applying. I also decided to temporarily deploy my capstone project and made some design tweaks with my resume. With my new resume, portfolio, and my capstone project under my tool belt, I got the job as a Web Developer Intern. Also, I am so thankful for the Tech Twitter community. They've been so supportive 😊.&lt;/p&gt;




&lt;h2&gt;
  
  
  December: Internship and ReactJS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Internship
&lt;/h3&gt;

&lt;p&gt;I'm really happy that I can decide at what time I can take my 2-hour break. So far, I learn about the &lt;a href="https://medoo.in/"&gt;Meedo&lt;/a&gt; framework and did some AJAX. Though I still have a lot of hours to complete. I needed to complete 500 hours of internship.&lt;/p&gt;

&lt;h3&gt;
  
  
  More ReactJS Frontend Masters
&lt;/h3&gt;

&lt;p&gt;Using the &lt;a href="https://education.github.com/pack"&gt;GitHub Student Developer Pack&lt;/a&gt;, I decided to avail my free 6 months of Frontend Masters. So I've been studying more ReactJs on Frontend Masters. As of now, I've finished the &lt;a href="https://www.instagram.com/p/B5m2A7BATHj/"&gt;Complete Intro to React v5 at Frontend Masters&lt;/a&gt; and &lt;a href="https://www.instagram.com/p/B6o19cxA7-g/"&gt;Intermediate React v2 at Frontend Masters&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;After finishing my internship, hopefully, I'll be graduating. So a lot can happen next year. Anyways, till next time 😊.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>career</category>
      <category>yearinreview</category>
    </item>
    <item>
      <title>Lessons I've Learned this Year (2019)</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Tue, 31 Dec 2019 11:50:32 +0000</pubDate>
      <link>https://dev.to/jorenrui/lessons-i-ve-learned-this-year-2019-5ff9</link>
      <guid>https://dev.to/jorenrui/lessons-i-ve-learned-this-year-2019-5ff9</guid>
      <description>&lt;p&gt;Starting now, I've decided to do a Year-End Review. I was motivated to do this because of &lt;a href="https://personalexcellence.co/blog/year-end-review/"&gt;this blog post&lt;/a&gt;. Also, I was influenced to live with intention by books like "The Happiness Equation", "Essentialism" and "The Productivity Project," and by YouTubers like Matt D'Avella and Thomas Frank.&lt;/p&gt;

&lt;p&gt;I wanted to design my life. To live a life that is true to myself. To live my life with intention. That is why I decided to review my life. To reflect on my past decisions, learn from my mistakes, and grow to be the person I wanted to be. I don't wanna let the year just pass me by. I needed to face myself and ask "Why?"&lt;/p&gt;

&lt;p&gt;Why have I decided to go with this instead of that? Are my values and decisions still aligned? Where did I go astray and how can I refocus myself? Am I truly happy?&lt;/p&gt;

&lt;p&gt;Hard questions like this make me rethink my decisions in life. It helps me reflect then decide on the next steps that I will make.&lt;/p&gt;




&lt;p&gt;My year started with a rough start. Transferring schools twice made me doubt myself even more. Being a 4th-year college student, it's really hard to change schools when a new curriculum has been implemented (K-12 reference). Finally, I was able to transfer to a school in which I can take the courses with me as the sole student and that isn't hard on the budget.&lt;/p&gt;

&lt;p&gt;My focus was to graduate fast and get that diploma. I wasn't really focused on the knowledge I'll receive at school cause, for the most part, I'm used to doing some self-study. An example of this is that I just took a Web Development class last semester. I already know almost all of the lessons so the instructor just gave me a project. So only completing my thesis and internship was the challenge for me.&lt;/p&gt;

&lt;p&gt;Being in a new school makes me wonder about my life. "Will I ever graduate?" I ask myself. Sometimes I would get jealous of my peers that have already graduated. What if I've graduated like the rest of them, I wouldn't even be a disappointment to my parents. If only I pushed through in the past then I'll finally have that diploma. I know... I'm hard on myself. Nevertheless, I've accepted my decision in the past. I was burnout and unhappy. I needed space to recover. Little did I know that my decision will lead me to focus on self-improvement and experience the world of web development.&lt;/p&gt;

&lt;p&gt;As the year ends, a lot has happened. The year that started off lonely and sad ended in a blessed and awesome way. So let's go through the lessons that I've learned this year:&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Know your "why"
&lt;/h2&gt;

&lt;p&gt;Whether making that change, building that habit or executing that idea, first ask yourself &lt;em&gt;why?&lt;/em&gt; This will be your driving force, your motivation, to keep on going especially when things are going rough. The stronger your reason for doing that activity, the more you likely you'll stick to it. Finding your reason will also help you in deciding the next steps you need to make.&lt;/p&gt;

&lt;p&gt;I tried a lot this year whether it's writing, making some arts or learning a new framework, there's always those that stuck and those that just faded away.&lt;/p&gt;

&lt;p&gt;Writing is one of the things that I wanted to consistently do but failed to do so. When I started asking why I wanted to do it, I realized that I didn't know. Maybe I was just influenced or was jealous of some bloggers. I said it was for my future self, but was it true? As time goes by, I stopped writing. My reason wasn't that strong enough to stood the test of time. It has slowly been pushed back by my other commitments in life.&lt;/p&gt;

&lt;p&gt;In contrast, learning ReactJS was different. Since I planned on being a frontend developer rather than a full-stack in the future, I was dedicated to learning it. Even though doubts came into my mind and want to just stick to making some Laravel web applications, the thought of doing the things that I enjoy became my motivation. I was always fond of the design side of web development. Even though I'll go back to becoming a beginner I'll gladly do so if it means getting out of my comfort zone. I was able to find the time to learn it as I worked on my capstone project/internship.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Keep moving forward
&lt;/h2&gt;

&lt;p&gt;Life is hard. It may even lead you to question if it's even worth pushing through. Nevertheless, you'll never know the rest of your story if you don't move forward. There's nothing fun in being stuck in a bad chapter of your life.&lt;/p&gt;

&lt;p&gt;Whenever I'm going through hard times, I always do my best to think that it will get better someday. Sometimes I wish those hardships never happen. Yet I know that I wouldn't grow if I only experience the good things in life. I wouldn't learn and mature if it weren't for those hard times. So even though it's tough, I try my best to accept the challenges in life. Those struggles are the ones that made me more grateful to things that I already have in life. It made me treasure what I have than take it for granted.&lt;/p&gt;

&lt;p&gt;Rather than a lesson that I've learned, this is one of the things that I keep reminding myself of. If in the past, I didn't decide to &lt;em&gt;try again and start a new&lt;/em&gt; after I stopped attending 4th year of college, I wouldn't get to experience a lot of what I experienced now like meeting new friends, falling in love, doing web development and finding the tech community. At that time, it was hard for me to even get out of my bed and eat. All I wanted to do was sleep and not think. Yet after many months of staying in my bed, I decided to &lt;em&gt;redesign my life&lt;/em&gt;, to try again. Those little goals of getting out of bed then doing some freeCodeCamp lessons turned into me looking forward in life.&lt;/p&gt;

&lt;p&gt;This lesson I kept into my heart even to this year. Doing the capstone project was hard and a lot has happened. There were those times that I just wanted to return to my comfort zone. Yet whenever I experienced fear, uncertainty or sadness, I close my eyes and tell myself that things will get better. Luckily, it did.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. It's the little things that count
&lt;/h2&gt;

&lt;p&gt;Know the saying, "it's the little things that count"? Those little things we say or do makes the most impact on our lives. Hundreds of those little things will turn into something great, a thousand will turn into something amazing. Whether we show someone we love them by making them a cup of coffee or saying they're beautiful, as they accumulate they make the relationship more rich and we grew closer. Even by reading just a few pages every day will reap great returns. By the time you realize it, you have read a handful of books. Whether making a habit or enriching things in your life, those little things are what makes the most of it.&lt;/p&gt;

&lt;p&gt;The #100DaysOfCode or #100DaysOfX is a great example of this. Just by committing to at least 1 hour per day doing an activity will help you master your craft in the long run.&lt;/p&gt;

&lt;p&gt;Reading books and learning web development for 2 years has made a great impact on my life. It turned into my current skill set that has helped me in doing my thesis and eased my search for a web developer internship role. With this, I'll continue my journey towards self-improvement.&lt;/p&gt;

&lt;p&gt;In another perspective, doing the little things has made me closer to my friends and family. Listening to my parent's stories, helping a friend in moving out, sharing my day with my bf, those are things connect us more with each other. By also appreciating the little things, it makes us more grateful and happy in life. Seeing that those mundane little things are what makes life more enjoyable.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Bring space to your life
&lt;/h2&gt;

&lt;p&gt;To be productive, it isn't always about doing more. At times, it means taking a step back and creating space. Space to let your mind wander. Space to let your mind get some time off. Space to sit back and relax. When you are in a constant sprint, always trying to meet the deadlines without rest, your creativity suffers. When reaching your goals means sacrificing your health, then you need to rethink your priorities.&lt;/p&gt;

&lt;p&gt;I am guilty of this. I sometimes overwork myself, especially in the past years, knowing no boundaries and thinking that doing more means working more. I thought that I was being productive, when in fact I was sleep-deprived and unhappy. When fixing that one last bug turns into working overtime. When that one-time checking of emails on Saturday slowly becomes a routine. That's where you need to stop. Even machines overheat, what more so are ourselves. By working longer hours, we are sacrificing the quality of our work bit by bit.  But by resting, we are recharging ourselves so that we can do better. We need space so that we can be more productive.&lt;/p&gt;

&lt;p&gt;Fortunately, I've been practicing this lesson ever since I've burnout in the past. When it's time to work, I work. When it's time to relax, I relax. I also don't guilt-trip myself whenever I sleep in or take the rest of the day off. My body deserves some sleep and it's okay to enjoy the day especially when I've been working hard the past few days. With that, I've been able to produce more quality work. Delivering top-notch work means taking care of yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Add a buffer to your estimates
&lt;/h2&gt;

&lt;p&gt;As they say, or what I read in &lt;em&gt;Essentialism&lt;/em&gt;, "expect the unexpected". Things don't often go the way we planned them. That 30 mins commute may turn into a 1 hour being stuck in traffic. There are times when a task would only take a few minutes or so, but ended up finishing it in 2 hours. In short, what we expected isn't always what we experienced. Sometimes things take longer. When we estimate the time for us to finish something, we often estimate based on the best scenario. But what about the unexpected? By anticipating and preparing for what may go wrong, we ended up with less stress and we are more likely to finish the task on time. That is why we add a &lt;em&gt;buffer&lt;/em&gt; to our estimates. We add extra time to our estimates to be prepared for the unexpected.&lt;/p&gt;

&lt;p&gt;I often do this, especially at work. Since I like planning things ahead of time, I always try to think of what may go wrong. With this, I was able to meet the deadlines. At school, I was able to manage my time well in doing my other projects while doing my thesis. By adding some buffer, other tasks weren't that affected when one took longer than I expected. I would often start my projects early so that when exams and the thesis defense came, it wouldn't get in the way.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Learn to say "No"
&lt;/h2&gt;

&lt;p&gt;Saying &lt;em&gt;no&lt;/em&gt; is hard especially when we associate our decisions to our relationships. It's hard to say &lt;em&gt;no&lt;/em&gt; to our boss cause he might become disappointed with us. In the end, we just say &lt;em&gt;yes&lt;/em&gt;. Whether it's due to our impulsiveness, desire to be reliable, desire to please people or cause we owe them one, we sometimes say &lt;em&gt;yes&lt;/em&gt; to things we don't intend to. Then we regret our decisions later. So learn to say &lt;em&gt;no&lt;/em&gt; especially when you find yourself having too many commitments.&lt;/p&gt;

&lt;p&gt;I once ended up in this situation in the past where I would say &lt;em&gt;yes&lt;/em&gt; to every project assigned to me. In the end, it was too much for me to handle and ended up failing a project. Then I realized, I thought that saying &lt;em&gt;yes&lt;/em&gt; means helping them, but I was only hindering them from truly learning on their own. I was saying &lt;em&gt;yes&lt;/em&gt; to them, but to my own goals, I was saying &lt;em&gt;no&lt;/em&gt;. I just let other people's agendas take over mine. With that, I decided to stop impulsively saying &lt;em&gt;yes&lt;/em&gt;. I started to think if it is worth the time or is aligned with my values.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Relationships matter
&lt;/h2&gt;

&lt;p&gt;Whether it's with your family, friends or even to yourself, healthy relationships matter in our lives. Not only does it enrich our lives but it also helps get through life. As they say, humans are social beings. We need a sense of love and belonging. Life doesn't always need to revolve around your work. Sometimes a little chat with a long-time friend is what you need.&lt;/p&gt;

&lt;p&gt;Moreover, relationships bring more meaning to life. When work you're doing involves helping those in need, you find yourself with a sense of purpose. Whether it's influencing or being influenced by different people, the connection may help us to realize that we've truly lived. That we were here.&lt;/p&gt;

&lt;p&gt;Even though I value my time alone, I also enjoy spending a cup of coffee with a friend. I wouldn't be who I am without them. My friends and family helped me to become who I am. Whether it's only for a short time, there were a lot of people that contributed to molding me as the person I am now. I cried, we fought, we laughed, we played, we've lived life. I'll always be truly grateful to the people that became a part of my life. My teacher, that kid I used to play with, online friends, or even the kids I met at an orphanage. They made my life fuller.&lt;/p&gt;




&lt;p&gt;Everyone had different experiences this year. Some were not that great, for others it was awesome. For me, it was a rough start. There were times where I was in the top of my game. There were times where I was a mess. But in the end, I did enjoy the ride 😄. With that, I'm looking forward to what the next year will be like. Hoping that whether good or bad, I'll never forget what I value in life.&lt;/p&gt;

</description>
      <category>yearinreview</category>
    </item>
    <item>
      <title>6 Ways to Deploy your Personal Websites / PHP+ MySQL Web Apps for Free</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Wed, 20 Mar 2019 05:30:48 +0000</pubDate>
      <link>https://dev.to/jorenrui/6-ways-to-deploy-your-personal-websites--php-mysql-web-apps-for-free-4m3a</link>
      <guid>https://dev.to/jorenrui/6-ways-to-deploy-your-personal-websites--php-mysql-web-apps-for-free-4m3a</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;In this post, I'll share my experiences, instructions rather, in deploying your website/web apps in different free web hosts. However, this post will not provide detailed information and thorough explanations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unsplash.com/photos/dC6Pb2JdAqs?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Cover Image&lt;/a&gt; by &lt;a href="https://unsplash.com/@grohsfabian" rel="noopener noreferrer"&gt;Fabian Grohs&lt;/a&gt; on &lt;a href="https://unsplash.com/" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether for deploying your personal project, your school project or for testing out your web apps, there are several web hosts in which you can deploy them for free.&lt;/p&gt;

&lt;p&gt;If you know how to use &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Git&lt;/em&gt;&lt;/a&gt;, a version control system, then nice 👍.&lt;/p&gt;

&lt;p&gt;If not I recommend learning it, &lt;a href="https://help.github.com/en/articles/git-and-github-learning-resources" rel="noopener noreferrer"&gt;these resources might help you out&lt;/a&gt;. For websites, you can use Netlify in which you can upload your files. If you have a PHP+MySQL web app, you might want to try out 000webhost. You can host up to two web apps on it per account.&lt;/p&gt;

&lt;p&gt;Although I said that, if you are planning to use 000webhost to host your web app for long term usage, I strongly recommend learning &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;&lt;em&gt;Git&lt;/em&gt;&lt;/a&gt; and use Heroku instead. 000webhost is good for deploying a web app fast and free of charge, but it also comes along with great security risks. That's why either use &lt;em&gt;Heroku&lt;/em&gt; or paid web hosts such as &lt;a href="https://www.digitalocean.com/" rel="noopener noreferrer"&gt;Digital Ocean&lt;/a&gt; or &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Before starting...
&lt;/h2&gt;

&lt;p&gt;I'm assuming that you have a &lt;em&gt;ready-to-deploy&lt;/em&gt; website or web app. For your project that doesn't need any database, you can use &lt;em&gt;static web hosts&lt;/em&gt;. But if you want to deploy your PHP+MySQL web app, then you check out &lt;em&gt;dynamic web hosts&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Also, I may refer to your app or the project's folder as a &lt;em&gt;repository&lt;/em&gt;. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A repository is like a folder for your project. Your project's repository contains all of your project's files and stores each file's revision history. You can also discuss and manage your project's work within the repository.&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://help.github.com/en/articles/about-repositories" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Also...
&lt;/h2&gt;

&lt;p&gt;make sure that you have an &lt;code&gt;index.html&lt;/code&gt;. Think of it as the home page of the website. Rename your primary HTML file to &lt;code&gt;index.html&lt;/code&gt; if you don't have one yet. If you are using a PHP framework like Laravel and CodeIgniter then you're good to go.&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%2Fnd7gwrmubl0p001s5dnx.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%2Fnd7gwrmubl0p001s5dnx.png" alt="Folder with files in Tree View"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Contents &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Static Web Hosts&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Pages&lt;/li&gt;
&lt;li&gt;GitLab Pages&lt;/li&gt;
&lt;li&gt;
Netlify (recommended for beginners)&lt;/li&gt;
&lt;li&gt;
Surge (recommended for CLI users)&lt;/li&gt;
&lt;li&gt;Others such as &lt;a href="https://zeit.co/" rel="noopener noreferrer"&gt;Zeit&lt;/a&gt; and &lt;a href="https://aws.amazon.com/amplify/console/" rel="noopener noreferrer"&gt;AWS Amplify&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Dynamic Web Hosts (PHP+MySQL)&lt;/strong&gt; &lt;a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heroku + Remote MySQL for Laravel Apps&lt;/li&gt;
&lt;li&gt;
000webhost (for those who don't know &lt;em&gt;Git&lt;/em&gt; yet)&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  EDITS:
&lt;/h4&gt;

&lt;h5&gt;
  
  
  Web Hosts
&lt;/h5&gt;

&lt;p&gt;You can also use Heroku and 000webhost as a static web host. In doing so, just ignore the database integration part. 😊&lt;/p&gt;

&lt;p&gt;Another web host you might want to check out is &lt;a href="https://glitch.com/" rel="noopener noreferrer"&gt;Glitch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1108867752134168577-703" src="https://platform.twitter.com/embed/Tweet.html?id=1108867752134168577"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1108867752134168577-703');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1108867752134168577&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;h5&gt;
  
  
  Heroku - Database Credentials
&lt;/h5&gt;

&lt;p&gt;A suggestion by Bervianto Leo Pratama was updating the Database Credentials in the Config Vars in Heroku.&lt;/p&gt;

&lt;p&gt;Changes were then made for the Heroku Database part, Setting the Database Config Variables, due to this awesome suggestion. 😊&lt;/p&gt;

&lt;p&gt;For other web hosts, you can also update the &lt;code&gt;.env&lt;/code&gt; file and manually upload it, so it would not be included in the source control.&lt;/p&gt;




&lt;h2&gt;
  
  
  Static Web Hosting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  GitHub Pages &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; is one of the best places to host your code. It offers &lt;em&gt;unlimited&lt;/em&gt; private and public repositories. It is well known as a place for open source software.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Host and review code, manage projects and build your best software alongside 31 million developers.&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://github.com/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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%2F4x8kyomntcb2lbd33ep6.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%2F4x8kyomntcb2lbd33ep6.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pages.github.com/" rel="noopener noreferrer"&gt;GitHub Pages&lt;/a&gt; is one of the services that GitHub offers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub Pages is a static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository.&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://help.github.com/en/articles/what-is-github-pages" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a GitHub Account&lt;/li&gt;
&lt;li&gt;Create a Repository&lt;/li&gt;
&lt;li&gt;Upload your files&lt;/li&gt;
&lt;li&gt;Deploy your website using GitHub Pages&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Create a GitHub Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;If you don't have a GitHub account yet, you may create one &lt;a href="https://github.com/join?source=header-home" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Create a Repository&lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;In the navigation on the upper right corner, click the &lt;em&gt;New Repository&lt;/em&gt; under the plus icon.&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%2Fiw7dod4p73c33cgi1f24.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%2Fiw7dod4p73c33cgi1f24.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You only need to fill out the details, then click &lt;em&gt;Create repository&lt;/em&gt;.&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%2Fwtkzltq0rc3srjiku8pm.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%2Fwtkzltq0rc3srjiku8pm.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, you can now add some files to your repository.&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%2Fd0cr2mm68945b3p24rv9.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%2Fd0cr2mm68945b3p24rv9.png"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h4&gt;
  
  
  3. Upload your files &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;There are two ways you can add files to your repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using Git&lt;/li&gt;
&lt;li&gt;Via file upload&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As for the file upload, you can either click &lt;em&gt;Upload files&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: by default you are in the &lt;strong&gt;master&lt;/strong&gt; branch of your repository.&lt;/p&gt;
&lt;/blockquote&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%2Fx6gbdpccoiadi7aavcmp.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%2Fx6gbdpccoiadi7aavcmp.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;or can drag and drop your files like so:&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%2F4aa4ilooxt9ngkjkm21x.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%2F4aa4ilooxt9ngkjkm21x.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As for the &lt;em&gt;commit message&lt;/em&gt;, you can type something that describes what you did. If you added some pictures, then you can type &lt;em&gt;Add cute puppy images&lt;/em&gt;. 😆&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%2Fhvc86aw3pujhgb0v43d1.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%2Fhvc86aw3pujhgb0v43d1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Deploy your website using GitHub Pages &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;First, go to &lt;em&gt;Settings&lt;/em&gt;&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%2Fenw4nyg35vynp7wtjqz1.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%2Fenw4nyg35vynp7wtjqz1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and scroll down to GitHub Pages. Then, click on the &lt;em&gt;master branch&lt;/em&gt;.&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%2Fqwfr0rdmm61wvxiv363i.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%2Fqwfr0rdmm61wvxiv363i.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this, your site is now published at &lt;code&gt;https://&amp;lt;your-username&amp;gt;.github.io/&amp;lt;repository-name&amp;gt;&lt;/code&gt;. Congrats ✨&lt;/p&gt;

&lt;p&gt;If you want to use  &lt;code&gt;https://&amp;lt;your-username&amp;gt;.github.io&lt;/code&gt; rather than  &lt;code&gt;https://&amp;lt;your-username&amp;gt;.github.io/&amp;lt;repository-name&amp;gt;&lt;/code&gt;, you just need to name your repository  &lt;code&gt;&amp;lt;your-username&amp;gt;.github.io&lt;/code&gt;.  This is suitable for portfolio websites.&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%2Fkq8ihcxhset1spjaasjn.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%2Fkq8ihcxhset1spjaasjn.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more information you can visit &lt;a href="https://pages.github.com/" rel="noopener noreferrer"&gt;GitHub Pages&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h3&gt;
  
  
  GitLab Pages &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;GitLab is one of the places where you can host your code and deploy it. It offers unlimited private and public repositories.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitLab provides a single application for &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/" rel="noopener noreferrer"&gt;the entire software development and operations lifecycle&lt;/a&gt;. GitLab provides everything you need to &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/manage/" rel="noopener noreferrer"&gt;Manage&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/plan/" rel="noopener noreferrer"&gt;Plan&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/create/" rel="noopener noreferrer"&gt;Create&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/verify/" rel="noopener noreferrer"&gt;Verify&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/package/" rel="noopener noreferrer"&gt;Package&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/release/" rel="noopener noreferrer"&gt;Release&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/configure/" rel="noopener noreferrer"&gt;Configure&lt;/a&gt;, &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/monitor/" rel="noopener noreferrer"&gt;Monitor&lt;/a&gt;, and &lt;a href="https://about.gitlab.com/stages-devops-lifecycle/secure/" rel="noopener noreferrer"&gt;Secure&lt;/a&gt; your applications.&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://about.gitlab.com/what-is-gitlab/" rel="noopener noreferrer"&gt;GitLab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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%2F3yt0e8aepl0lpiy4jk5s.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%2F3yt0e8aepl0lpiy4jk5s.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://about.gitlab.com/product/pages/" rel="noopener noreferrer"&gt;GitLab Pages&lt;/a&gt; is one of the services that GitLab offers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Host your static websites on &lt;a href="https://about.gitlab.com/gitlab-com/" rel="noopener noreferrer"&gt;GitLab.com&lt;/a&gt; for free, or on &lt;a href="https://docs.gitlab.com/ee/administration/pages/" rel="noopener noreferrer"&gt;your own GitLab instance&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;-&lt;a href="https://about.gitlab.com/product/pages/" rel="noopener noreferrer"&gt;GitLab&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a GitLab Account&lt;/li&gt;
&lt;li&gt;Create a Repository&lt;/li&gt;
&lt;li&gt;Upload your files&lt;/li&gt;
&lt;li&gt;Deploy your website using GitLab Pages&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Create a GitLab Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;If you don't have a GitLab account yet, you may create one &lt;a href="https://gitlab.com/users/sign_in#register-pane" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Create a Repository &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;In the navigation on the upper right corner, click the &lt;em&gt;New Project&lt;/em&gt; under the plus icon. Or you can press the green &lt;em&gt;New Project&lt;/em&gt; button on the right.&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%2F4zyi5z7i0tfwicoljlk3.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%2F4zyi5z7i0tfwicoljlk3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, fill out the details. After that, you may click &lt;em&gt;Create Project&lt;/em&gt;.&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%2Fo0t6aduc742dza523y4j.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%2Fo0t6aduc742dza523y4j.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Upload your files &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;There are two ways you can add files to your repository:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using Git&lt;/li&gt;
&lt;li&gt;Via file upload&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As for the file upload, click the plus icon then pick &lt;em&gt;Upload file&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: by default you are in the &lt;strong&gt;master&lt;/strong&gt; branch of your repository.&lt;/p&gt;
&lt;/blockquote&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%2Foy456onjer7hyxc2ugn9.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%2Foy456onjer7hyxc2ugn9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then you can drag or upload your file.&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%2Fjwp6v8assa7egbs0rgi1.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%2Fjwp6v8assa7egbs0rgi1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As for the &lt;em&gt;commit message&lt;/em&gt;, type something that describes what you did. For example, if you added an About Page then you can type &lt;em&gt;Add About Page&lt;/em&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Deploy your website using GitLab Pages &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;To get started, click the &lt;em&gt;Set up CI/CD&lt;/em&gt;.&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%2Fzcvcss37px59xzabtf05.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%2Fzcvcss37px59xzabtf05.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will then create a configuration file for your deployment. You can pick a template. For simple projects, just pick &lt;em&gt;HTML&lt;/em&gt;.&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%2Fxn44r5g0jwk4e1qwse47.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%2Fxn44r5g0jwk4e1qwse47.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then press &lt;em&gt;Commit changes&lt;/em&gt;.&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%2Fcxtydk6si8f9p27ngiio.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%2Fcxtydk6si8f9p27ngiio.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will create a &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; to your project's root folder that contains:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;

&lt;span class="na"&gt;pages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;stage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;deploy&lt;/span&gt;
  &lt;span class="na"&gt;script&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;mkdir .public&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;cp -r * .public&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;mv .public public&lt;/span&gt;
  &lt;span class="na"&gt;artifacts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;paths&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;public&lt;/span&gt;
  &lt;span class="na"&gt;only&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;master&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;The GitLab CI/CD will then build and deploy your website using GitLab Pages.&lt;/p&gt;

&lt;p&gt;In the sidebar, go to &lt;em&gt;Settings&lt;/em&gt; then &lt;em&gt;Pages&lt;/em&gt;. You'll find your website's URL there which is &lt;code&gt;https://&amp;lt;your-username&amp;gt;.gitlab.io/&amp;lt;repository-name&amp;gt;&lt;/code&gt;. &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%2F79snv0t8tvcnqom98a3n.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%2F79snv0t8tvcnqom98a3n.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may see a &lt;em&gt;404 Error&lt;/em&gt; for now. But don't worry, it just needs some time before your website is up and running. Try to check if again after a few minutes.&lt;/p&gt;

&lt;p&gt;If you want to use  &lt;code&gt;https://&amp;lt;your-username&amp;gt;.gitlab.io&lt;/code&gt; rather than  &lt;code&gt;https://&amp;lt;your-username&amp;gt;.gitlab.io/&amp;lt;repository-name&amp;gt;&lt;/code&gt;, you just need to name your repository &lt;code&gt;&amp;lt;your-username&amp;gt;.gitlab.io&lt;/code&gt;.  This is suitable for portfolio websites.&lt;/p&gt;

&lt;p&gt;With this, your website is now live. Congrats ✨&lt;/p&gt;

&lt;p&gt;For more information, you can visit &lt;a href="https://about.gitlab.com/product/pages/" rel="noopener noreferrer"&gt;GitLab Pages&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h3&gt;
  
  
  Netlify &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt; offers an easy way to deploy your sites.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An all-in-one workflow that combines global deployment, continuous integration, and automatic HTTPS. And that’s just the beginning.&lt;/p&gt;

&lt;p&gt;-&lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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%2Feyozhy5xp2sccvwwk31m.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%2Feyozhy5xp2sccvwwk31m.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a Netlify Account&lt;/li&gt;
&lt;li&gt;Deployment using Netlify

&lt;ul&gt;
&lt;li&gt;Upload your files and Deploy&lt;/li&gt;
&lt;li&gt;Connect your Git Repository and Deploy&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rename your Site&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Create a Netlify Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;If you don't have a Netlify account yet, you may use your GitHub/GitLab/BitBucket Account or create one &lt;a href="https://app.netlify.com/signup" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Deployment using Netlify
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2.1 Upload your files and Deploy &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;You can deploy your site by uploading your files or connecting it to your repository.&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%2Fho63r9a5zqaomp3ujec2.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%2Fho63r9a5zqaomp3ujec2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are uploading your files, you just need to drag and drop your project folder it like so:&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%2Fbqjy91iogn8ppbunovss.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%2Fbqjy91iogn8ppbunovss.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, Netlify will now deploy your site.&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%2Fxb466ax956mzqlox8wg4.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%2Fxb466ax956mzqlox8wg4.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this case, you can see the website at &lt;code&gt;https://naughty-babbage-f0df56.netlify.com&lt;/code&gt;. You may change the site's name here.&lt;/p&gt;

&lt;p&gt;If you want to &lt;strong&gt;update&lt;/strong&gt; your files. Go to &lt;em&gt;Deploys&lt;/em&gt;.&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%2Fvpev5crh6zh0xz9xf8a6.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%2Fvpev5crh6zh0xz9xf8a6.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Drag and drop your project folder, then Netlify will take care of the rest.&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%2F9omzgcbbzl63fxnw24sg.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%2F9omzgcbbzl63fxnw24sg.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Under &lt;em&gt;Overview&lt;/em&gt; then Production Deploys,&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%2Fvamdfqtz26rv4j61ywis.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%2Fvamdfqtz26rv4j61ywis.png"&gt;&lt;/a&gt;&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%2F1wzwf55wi2do6h8efori.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%2F1wzwf55wi2do6h8efori.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait till the badge near the &lt;em&gt;Production&lt;/em&gt; changes from &lt;em&gt;Uploading&lt;/em&gt; to &lt;em&gt;Published&lt;/em&gt;. When it's published then you're site is now updated.&lt;/p&gt;

&lt;h4&gt;
  
  
  2.2 Connect your Git Repository and Deploy &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Another way of deploying your site is by connecting your repository to Netlify. You may do so by clicking &lt;em&gt;New site from Git&lt;/em&gt;.&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%2Fho63r9a5zqaomp3ujec2.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%2Fho63r9a5zqaomp3ujec2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It will lead you to three easy steps&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Connecting to a Git provider which can either be GitHub, GitLab or BitBucket.&lt;/strong&gt;&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%2Fwp819sw5h257v62rydkk.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%2Fwp819sw5h257v62rydkk.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Picking a repository&lt;/strong&gt;&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%2Fyjhvlbdxl699qejw5la5.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%2Fyjhvlbdxl699qejw5la5.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Configuring your Build options&lt;/strong&gt;&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%2Fmqbmbxrl75rbo6edz7a8.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%2Fmqbmbxrl75rbo6edz7a8.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can leave build command and publish directory blank if you're not using Hugo, Jekyll, Gulp and the like.&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%2Fp7kridt6cyvo4yg4sqbs.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%2Fp7kridt6cyvo4yg4sqbs.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With that, the site is live at &lt;code&gt;https://keen-lamarr-271c97.netlify.com&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Changing the Site's Name &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;To change the name, go to the &lt;em&gt;Site settings&lt;/em&gt;&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%2Fnymvv3h9bnnp4dckq0bf.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%2Fnymvv3h9bnnp4dckq0bf.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, scroll down to &lt;em&gt;Site details&lt;/em&gt;&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%2Fs4uaz44pie3yxy8t7wez.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%2Fs4uaz44pie3yxy8t7wez.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this case, I'll be changing it to &lt;code&gt;jorenrui&lt;/code&gt;.&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%2F2w62umzxxg7gkmsb0tho.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%2F2w62umzxxg7gkmsb0tho.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that you're all done.&lt;/p&gt;

&lt;p&gt;Congrats 🎉Your site is now up and running.&lt;/p&gt;

&lt;p&gt;For more information, you can visit &lt;a href="https://www.netlify.com/docs/" rel="noopener noreferrer"&gt;Netlify's Docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h3&gt;
  
  
  Surge &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://surge.sh/" rel="noopener noreferrer"&gt;Surge&lt;/a&gt; is another static web host in which you can use to deploy your site. It uses the &lt;em&gt;command line&lt;/em&gt; in deploying your application.&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%2Fihmdfx2vu8diqlz16b8u.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%2Fihmdfx2vu8diqlz16b8u.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pre requisites
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Familiar with the Command Line&lt;/li&gt;
&lt;li&gt;Latest version of &lt;a href="http://nodejs.org/" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Installing Surge&lt;/li&gt;
&lt;li&gt;Deploy using Surge&lt;/li&gt;
&lt;li&gt;CNAME&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Installing Surge &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--global&lt;/span&gt; surge


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For Linux users:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;sudo &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--global&lt;/span&gt; surge


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  2. Deploy using Surge &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;First go to your project folder. In this example, the folder's name is &lt;code&gt;jorenwebsite&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd &lt;/span&gt;jorenwebsite


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then run &lt;strong&gt;surge&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

surge


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can now login or create an account from the command line. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;project: &lt;code&gt;&amp;lt;your project folder's path&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;domain: &lt;code&gt;&amp;lt;your-project-name&amp;gt;.surge.sh&lt;/code&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%2Fz6iaqsya7l3bexrkj9po.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%2Fz6iaqsya7l3bexrkj9po.PNG"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may check your site at &lt;code&gt;&amp;lt;your-project-name&amp;gt;.surge.sh&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;When updating your files, make sure you're in the project's folder. Then, you may re-deploy the site with this command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

surge &lt;span class="nt"&gt;--domain&lt;/span&gt; jorenwebsite.surge.sh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  3. CNAME &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Save your &lt;em&gt;domain name&lt;/em&gt; by using CNAME. In your project folder, create a file named &lt;code&gt;CNAME&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You may do so by using the CLI:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;echo &lt;/span&gt;jorenwebsite.surge.sh &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; CNAME


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Or create a file named &lt;code&gt;CNAME&lt;/code&gt;, open your text editor, add your domain name, and then save it.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

jorenwebsite.surge.sh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In this case, the domain name is &lt;code&gt;jorenwebsite.surge.sh&lt;/code&gt;. Just replace it with yours.&lt;/p&gt;

&lt;p&gt;Now when you update your files, you &lt;em&gt;don't&lt;/em&gt; need to type out &lt;code&gt;surge --domain jorenwebsite.surge.sh&lt;/code&gt;. You can re-deploy your app by just typing &lt;em&gt;surge&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Hurray ✨ You're all done!&lt;/p&gt;

&lt;p&gt;For more information, you can visit &lt;a href="https://surge.sh/help/getting-started-with-surge" rel="noopener noreferrer"&gt;Surge&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h2&gt;
  
  
  Dynamic Web Hosting (PHP + MySQL)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Heroku + Remote MySQL for Laravel Apps &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this part, we're going to use &lt;a href="https://www.heroku.com/" rel="noopener noreferrer"&gt;Heroku&lt;/a&gt; + &lt;a href="https://remotemysql.com/" rel="noopener noreferrer"&gt;Remote MySQL&lt;/a&gt; combo to deploy our Laravel web app.&lt;/p&gt;

&lt;h4&gt;
  
  
  Heroku
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/" rel="noopener noreferrer"&gt;Heroku&lt;/a&gt; is one of the great places to deploy your web apps. It makes use of Git to deploy your apps and has its own Heroku CLI in which you can run bash. &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%2F2m1hzui63mwmxvo4i9tg.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%2F2m1hzui63mwmxvo4i9tg.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Pre requisites
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Familiar with the Command Line and &lt;a href="https://git-scm.com/" rel="noopener noreferrer"&gt;Git&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://git-scm.com/downloads" rel="noopener noreferrer"&gt;Git&lt;/a&gt; installed&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://php.net/" rel="noopener noreferrer"&gt;PHP&lt;/a&gt; installed&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://getcomposer.org/doc/00-intro.md" rel="noopener noreferrer"&gt;Composer&lt;/a&gt;  installed&lt;/li&gt;
&lt;li&gt;A working Git repository&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To check if Git is installed:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git &lt;span class="nt"&gt;--version&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To check if PHP is installed:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

php &lt;span class="nt"&gt;-v&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;To check if Composer is installed:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

composer &lt;span class="nt"&gt;-V&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;p&gt;Setting up Heroku for Deployment&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Heroku Account&lt;/li&gt;
&lt;li&gt;Installing Heroku CLI&lt;/li&gt;
&lt;li&gt;Preparing the App&lt;/li&gt;
&lt;li&gt;Creating a Procfile&lt;/li&gt;
&lt;li&gt;Create an App on Heroku&lt;/li&gt;
&lt;li&gt;Adding a PHP Build Pack&lt;/li&gt;
&lt;li&gt;Setting the Heroku Config Variables&lt;/li&gt;
&lt;li&gt;Pushing the Code to Heroku&lt;/li&gt;
&lt;li&gt;Checking the App&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Integrating MySQL&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Remote MySQL Account&lt;/li&gt;
&lt;li&gt;Setting the Database Config Variables&lt;/li&gt;
&lt;li&gt;Working with the Database&lt;/li&gt;
&lt;li&gt;Checking the App&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Issues you may encounter and how to solve them&lt;/p&gt;
&lt;h4&gt;
  
  
  Setting up Heroku for Deployment
&lt;/h4&gt;
&lt;h4&gt;
  
  
  1. Create a Heroku Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;If you don't have a Heroku account yet, you can create one &lt;a href="https://signup.heroku.com/login" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  2. Installing Heroku CLI &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;First, install &lt;a href="https://devcenter.heroku.com/articles/getting-started-with-php#set-up" rel="noopener noreferrer"&gt;Heroku CLI&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After that, you may now login to Heroku thru the CLI:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku login


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  3. Preparing the App &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Assuming you have a functioning git repository, go to its directory. In this example, the project's folder is named &lt;code&gt;jorenweb&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd &lt;/span&gt;jorenweb


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Make sure that your app has this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;composer.json&lt;/code&gt; - it indicates that it is a PHP application&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  4. Creating a Procfile &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;To create a Procfile from the CLI, run this command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"web: vendor/bin/heroku-php-apache2 public/"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; Procfile


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Or manually create a file named &lt;code&gt;Procfile&lt;/code&gt; that contains:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

web: vendor/bin/heroku-php-apache2 public/


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will set the &lt;a href="https://devcenter.heroku.com/articles/custom-php-settings#setting-the-document-root" rel="noopener noreferrer"&gt;document root&lt;/a&gt; to &lt;code&gt;public/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then commit the changes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git add Procfile
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Add Procfile for Heroku"&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  5. Create an App on Heroku &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;To create an app on Heroku, run this command:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku create jorenweb


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Replace &lt;code&gt;jorenweb&lt;/code&gt; with your chosen app name.  The app's name will be the domain name which is &lt;code&gt;https://&amp;lt;app name&amp;gt;.herokuapp.com/&lt;/code&gt;. Leaving the app's name blank will make Heroku generate a random one for you.&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Adding a PHP Build Pack &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku buildpacks:set heroku/php


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  7. Setting the Heroku Config Variables &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;
&lt;h5&gt;
  
  
  Laravel encryption key
&lt;/h5&gt;

&lt;p&gt;To check the encryption key, run &lt;code&gt;php artisan&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

php artisan key:generate &lt;span class="nt"&gt;--show&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then copy and set it on Heroku using the &lt;code&gt;heroku config&lt;/code&gt; command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;APP_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;...


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;where the &lt;code&gt;...&lt;/code&gt; is the &lt;em&gt;key&lt;/em&gt; you copied from the &lt;code&gt;php artisan&lt;/code&gt; command.&lt;/p&gt;

&lt;h5&gt;
  
  
  App's URL
&lt;/h5&gt;

&lt;p&gt;The App's URL is &lt;code&gt;&amp;lt;app-name&amp;gt;.herokuapp.com&lt;/code&gt;. In this example, the app's name is &lt;code&gt;jorenweb&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;APP_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;jorenweb.herokuapp.com


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  8. Pushing the Code to Heroku &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Push your code with this command:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git push heroku master


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you have more than one app, run:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git push heroku master &lt;span class="nt"&gt;--app&lt;/span&gt; &amp;lt;app-name&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  9. Checking the App &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;You can open your app with this command:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku open


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Or go to &lt;code&gt;https://&amp;lt;app name&amp;gt;.herokuapp.com/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Note: There may be some error if your app needs a database on startup.&lt;/p&gt;

&lt;h4&gt;
  
  
  Integrating MySQL
&lt;/h4&gt;

&lt;p&gt;There are several websites that offer free MySQL that comes with PhpMyAdmin such as &lt;a href="https://www.freesqldatabase.com/freemysqldatabase/" rel="noopener noreferrer"&gt;Free SQL Database&lt;/a&gt; and &lt;a href="https://www.db4free.net/" rel="noopener noreferrer"&gt;db4free&lt;/a&gt;. Note that you should only use this for testing purposes and not for production.&lt;/p&gt;

&lt;p&gt;In this post, we're going to use &lt;a href="https://remotemysql.com/" rel="noopener noreferrer"&gt;Remote MySQL&lt;/a&gt;. You can have up to 3 databases using the same email.&lt;/p&gt;

&lt;p&gt;The limitations of using it are:&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%2Fv74jbnscg1pg1cfc3cm6.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%2Fv74jbnscg1pg1cfc3cm6.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Create a Remote MySQL Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Create a Remote MySQL Account &lt;a href="https://remotemysql.com/login.php" rel="noopener noreferrer"&gt;here&lt;/a&gt;. After that, take note of the &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;password&lt;/code&gt;, &lt;code&gt;database name&lt;/code&gt; and &lt;code&gt;port&lt;/code&gt;.&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%2Ff3yq33ubkjra395claid.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%2Ff3yq33ubkjra395claid.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Setting the Database Config Variables&lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;There are three ways in which you can approach this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heroku CLI&lt;/li&gt;
&lt;li&gt;Heroku Web&lt;/li&gt;
&lt;li&gt;Updating the Database file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using these different approaches, we'll update the &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;database&lt;/code&gt;, &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;password&lt;/code&gt; of the &lt;code&gt;mysql&lt;/code&gt; connection.&lt;/p&gt;

&lt;h5&gt;
  
  
  a. Heroku CLI
&lt;/h5&gt;

&lt;p&gt;Using the Heroku CLI, first make sure that you are logged in.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku login


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then, you can now update the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;connection&lt;/code&gt; = &lt;code&gt;mysql&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;DB_CONNECTION&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;mysql


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;host&lt;/code&gt; = &lt;code&gt;remotemysql.com&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;DB_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;remotemysql.com


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;database&lt;/code&gt; = &lt;code&gt;WP0BqJ4QBT&lt;/code&gt; (change this to the &lt;em&gt;Database Name&lt;/em&gt; you received in earlier on remotemysql)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;DB_DATABASE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;WP0BqJ4QBT


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;username&lt;/code&gt; = &lt;code&gt;WP0BqJ4QBT&lt;/code&gt; (change this to the &lt;em&gt;Username&lt;/em&gt; you received in earlier on remotemysql)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;DB_USERNAME&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;WP0BqJ4QBT


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;password&lt;/code&gt; = &lt;code&gt;fHduIl02Bk&lt;/code&gt; (change this to the &lt;em&gt;Password&lt;/em&gt; you received in earlier on remotemysql)&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku config:set &lt;span class="nv"&gt;DB_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;fHduIl02Bk


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h5&gt;
  
  
  b. Heroku Web
&lt;/h5&gt;

&lt;p&gt;On Heroku, login and go to your app.&lt;/p&gt;

&lt;p&gt;In the navigation, go to &lt;em&gt;Settings&lt;/em&gt;.&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%2Ft1ch5laefa51jszt00ru.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%2Ft1ch5laefa51jszt00ru.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then scroll down to &lt;em&gt;Config Vars&lt;/em&gt; and click the &lt;em&gt;Reveal Config Vars&lt;/em&gt; button.&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%2Fa2u2yxfswhivfawh23kn.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%2Fa2u2yxfswhivfawh23kn.PNG"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then update the following variables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;connection&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;host&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;database&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;username&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;password&lt;/code&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%2F45dhwotsjw755c5u8ydn.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%2F45dhwotsjw755c5u8ydn.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may see the &lt;code&gt;APP&lt;/code&gt; and &lt;code&gt;APP_KEY&lt;/code&gt; in which you set earlier in the process of creating the Heroku app.&lt;/p&gt;
&lt;h5&gt;
  
  
  c. Updating the Database File
&lt;/h5&gt;

&lt;p&gt;In &lt;code&gt;config/database.php&lt;/code&gt;, update &lt;code&gt;host&lt;/code&gt;, &lt;code&gt;database&lt;/code&gt;, &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;password&lt;/code&gt; in the &lt;code&gt;mysql&lt;/code&gt; connection.&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="err"&gt;

&lt;/span&gt;    ...
&lt;span class="err"&gt;
&lt;/span&gt;    'mysql' =&amp;gt; [
            'driver' =&amp;gt; 'mysql',
&lt;span class="gd"&gt;-           'host' =&amp;gt; env('DB_HOST', '127.0.0.1'),
&lt;/span&gt;&lt;span class="gi"&gt;+           'host' =&amp;gt; env('DB_HOST', 'remotemysql.com'),
&lt;/span&gt;            'port' =&amp;gt; env('DB_PORT', '3306'),
&lt;span class="gd"&gt;-           'database' =&amp;gt; env('DB_DATABASE', 'forge'),
-           'username' =&amp;gt; env('DB_USERNAME', 'forge'),
-           'password' =&amp;gt; env('DB_PASSWORD', ''),
&lt;/span&gt;&lt;span class="gi"&gt;+           'database' =&amp;gt; env('DB_DATABASE', 'WP0BqJ4QBT'),
+           'username' =&amp;gt; env('DB_USERNAME', 'WP0BqJ4QBT'),
+           'password' =&amp;gt; env('DB_PASSWORD', 'fHduIl02Bk'),
&lt;/span&gt;            'unix_socket' =&amp;gt; env('DB_SOCKET', ''),
            'charset' =&amp;gt; 'utf8mb4',
            'collation' =&amp;gt; 'utf8mb4_unicode_ci',
            'options' =&amp;gt; [PDO::ATTR_EMULATE_PREPARES =&amp;gt; true],
            'prefix' =&amp;gt; '',
            'prefix_indexes' =&amp;gt; true,
            'strict' =&amp;gt; true,
            'engine' =&amp;gt; null,
        ],
    ...
&lt;span class="err"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then push your changes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git add config/database.php
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Update MySQL DB Configuration"&lt;/span&gt;
git push heroku master


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  3. Working with the Database &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;There are two ways in which you can access the database:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;thru PhpMyAdmin&lt;/li&gt;
&lt;li&gt;thru Heroku Bash&lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;
  
  
  PhpMyAdmin
&lt;/h5&gt;

&lt;p&gt;To access the database using PhpMyAdmin, &lt;a href="https://remotemysql.com/phpmyadmin/" rel="noopener noreferrer"&gt;login&lt;/a&gt; to Remote MySQL. Then, enter the &lt;code&gt;username&lt;/code&gt; and &lt;code&gt;password&lt;/code&gt; you've received during &lt;a href="https://remotemysql.com/signup.html" rel="noopener noreferrer"&gt;sign up&lt;/a&gt;. After that, just import your SQL dump.&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%2Fgigdj73rlfcwvyhi5ftp.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%2Fgigdj73rlfcwvyhi5ftp.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;
  
  
  Heroku Bash
&lt;/h5&gt;

&lt;p&gt;The other way is using Heroku Bash.&lt;/p&gt;

&lt;p&gt;First login to Heroku if you haven't done that:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku login


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Open the Heroku bash by running the command:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku run bash


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then, you may now &lt;em&gt;migrate&lt;/em&gt; your database:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

php artisan migrate


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;and &lt;em&gt;seed&lt;/em&gt; it:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

php artisan db:seed


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h4&gt;
  
  
  4. Checking the App &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;You can open your app with this command:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku open


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Or go to &lt;code&gt;https://&amp;lt;app name&amp;gt;.herokuapp.com/&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Congrats! ✨ 😆 You're all done!&lt;/p&gt;

&lt;h4&gt;
  
  
  Issues you may encounter and how to solve them &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;h5&gt;
  
  
  a. Serving Assets thru HTTPS
&lt;/h5&gt;

&lt;p&gt;When in development mode, you mostly use HTTP. But now that the it is in production, the assets may not load properly. Take this &lt;code&gt;link&lt;/code&gt; tag for example:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&amp;lt;link href="{{ asset('css/app.css') }}" rel="stylesheet"&amp;gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;asset()&lt;/code&gt; uses HTTP while &lt;code&gt;secured_asset()&lt;/code&gt; uses HTTPS.&lt;/p&gt;

&lt;p&gt;But if you don't want to force HTTPS on environments, there is another solution.&lt;/p&gt;

&lt;p&gt;To solve this, go to &lt;code&gt;app\Providers\AppServiceProvider.php&lt;/code&gt; and add the following codes:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="err"&gt;

&lt;/span&gt;  namespace App\Providers;
&lt;span class="err"&gt;
&lt;/span&gt;  use Illuminate\Support\ServiceProvider;
&lt;span class="gi"&gt;+ use Illuminate\Support\Facades\Schema;
&lt;/span&gt;&lt;span class="err"&gt;
&lt;/span&gt;  ...
&lt;span class="err"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="err"&gt;

&lt;/span&gt;  ...
&lt;span class="err"&gt;
&lt;/span&gt;  public function boot()
  {
&lt;span class="gi"&gt;+    if(config('app.env') === 'production') {
+    \URL::forceScheme('https');
+    }
&lt;/span&gt;  }
&lt;span class="err"&gt;
&lt;/span&gt;  ...
&lt;span class="err"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;This will change the URL from HTTP to HTTPS when in production.&lt;/p&gt;

&lt;p&gt;Then you may commit this changes, then push to Heroku.&lt;/p&gt;

&lt;h5&gt;
  
  
  b. Specified key was too long error during migration
&lt;/h5&gt;

&lt;p&gt;In &lt;code&gt;app\Providers\AppServiceProvider.php&lt;/code&gt;, update the &lt;code&gt;boot&lt;/code&gt; function:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="err"&gt;

&lt;/span&gt;  use Illuminate\Support\Facades\Schema;
&lt;span class="err"&gt;
&lt;/span&gt;  public function boot()
  {
&lt;span class="gi"&gt;+    Schema::defaultStringLength(191);
&lt;/span&gt;  }
&lt;span class="err"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then you may commit this changes, then push to Heroku.&lt;/p&gt;

&lt;h5&gt;
  
  
  c. Error in using &lt;code&gt;fzaninotto/faker&lt;/code&gt; during Database Migration on Heroku (Class &lt;code&gt;Faker\Factory&lt;/code&gt; not found)
&lt;/h5&gt;

&lt;p&gt;In &lt;code&gt;composer.json&lt;/code&gt;, move &lt;code&gt;fzaninotto/faker&lt;/code&gt; from &lt;code&gt;require-dev&lt;/code&gt; to &lt;code&gt;require&lt;/code&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="err"&gt;

&lt;/span&gt;    ...
&lt;span class="gd"&gt;-       "laravel/tinker": "^1.0"
&lt;/span&gt;&lt;span class="gi"&gt;+       "laravel/tinker": "^1.0",
+       "fzaninotto/faker": "^1.8"
&lt;/span&gt;    },
    "require-dev": {
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
&lt;span class="gd"&gt;-       "fzaninotto/faker": "^1.8",
&lt;/span&gt;    ...
&lt;span class="err"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you're currently in Heroku bash, exit from it:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;exit&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then commit your changes and push it to Heroku:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

git add composer.json
git commit &lt;span class="nt"&gt;-m&lt;/span&gt; &lt;span class="s2"&gt;"Update composer.json"&lt;/span&gt;
git push heroku master


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then run Heroku bash again:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

heroku run bash


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Install the dependencies:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

composer &lt;span class="nb"&gt;install&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then migrate and seed your database again:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

php artisan migrate:refresh &lt;span class="nt"&gt;--seed&lt;/span&gt; &lt;span class="nt"&gt;--force&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;For more information, you can visit &lt;a href="https://devcenter.heroku.com/articles/getting-started-with-laravel" rel="noopener noreferrer"&gt;Heroku's Documentation regarding Laravel&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h3&gt;
  
  
  000webhost &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://000webhost.com/" rel="noopener noreferrer"&gt;000webhost&lt;/a&gt; is a free web host that support PHP and MySQL apps. It also comes with a control panel which has PhpMyAdmin and a web-based file manager.&lt;/p&gt;

&lt;p&gt;Although 000webhost enables deploying your web app via file upload and is free of charge, it also comes with great security risks. That is why I do not recommend it for long-term usage. Learn &lt;em&gt;Git&lt;/em&gt; and use Heroku instead. Or better yet, use a paid web host, it will be worth it in the long run.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;WARNING!&lt;br&gt;
Be careful in using 000webhost cause it has been &lt;a href="https://haveibeenpwned.com/PwnedWebsites#000webhost" rel="noopener noreferrer"&gt;pwned&lt;/a&gt;.&lt;br&gt;
-Mohammed Foysal&lt;/p&gt;
&lt;/blockquote&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%2F8ektq4wxr5o236v7oi43.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%2F8ektq4wxr5o236v7oi43.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Contents
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Create a 000webhost Account&lt;/li&gt;
&lt;li&gt;Create your Website&lt;/li&gt;
&lt;li&gt;Upload your Files&lt;/li&gt;
&lt;li&gt;Moving Files&lt;/li&gt;
&lt;li&gt;Configuring your Database&lt;/li&gt;
&lt;li&gt;Setting up your Web Address (optional)&lt;/li&gt;
&lt;li&gt;Check your Web App&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  1. Create a 000webhost Account &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;If you don't have a 000webhost account yet, you can create one &lt;a href="https://www.000webhost.com/free-website-sign-up" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Then you'll receive an email to verify your account.&lt;/p&gt;

&lt;h4&gt;
  
  
  2 Create your Website &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;After verification, create your first website either by clicking &lt;em&gt;Create your first website&lt;/em&gt; or &lt;em&gt;Build Website&lt;/em&gt;.&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%2F57au8bxgjrp3d8whmmdl.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%2F57au8bxgjrp3d8whmmdl.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that it will ask you questions like your &lt;em&gt;Website Name&lt;/em&gt; and &lt;em&gt;Password&lt;/em&gt;.&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%2Fc6pvz3seakhpdh2n0ozz.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%2Fc6pvz3seakhpdh2n0ozz.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your web address will be &lt;code&gt;&amp;lt;website-name&amp;gt;.000webhostapp.com&lt;/code&gt; . In the case above, the web address is &lt;code&gt;jorenweb.000webhostapp.com&lt;/code&gt; .&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Upload your Files &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;In the navigation, go to &lt;em&gt;Website Manager&lt;/em&gt; then click &lt;em&gt;File Manager&lt;/em&gt;.&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%2Fgp8wz0n8lvo0tphqbhn3.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%2Fgp8wz0n8lvo0tphqbhn3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will take you to the File Manager page. Scroll down and click on &lt;em&gt;Upload your files&lt;/em&gt; button. Then you'll be directed to the 000webhost File Manager in which you can now upload your files.&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%2F8e75r3atxhjqxjmvtx42.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%2F8e75r3atxhjqxjmvtx42.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure that you're in the &lt;code&gt;public_html&lt;/code&gt; directory. For uploading your files, you can either drag and drop your files or click the upload icon.&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%2Fm39lv2j6mtkkd2ruj730.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%2Fm39lv2j6mtkkd2ruj730.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I suggest archiving your project's folder as a &lt;strong&gt;zip&lt;/strong&gt; file, upload it, and then extract it.&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%2Fk5xnhmuev6pedoj2rusd.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%2Fk5xnhmuev6pedoj2rusd.png"&gt;&lt;/a&gt;&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%2F2pya6lol94vjby9hjod2.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%2F2pya6lol94vjby9hjod2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In extracting it, let the directory be &lt;code&gt;.&lt;/code&gt; in which you'll be referring to the current directory that you're in. In this case, extracting it to the &lt;code&gt;public_html&lt;/code&gt; directory.&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%2F2v1j3be43hy2lj5px3mq.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%2F2v1j3be43hy2lj5px3mq.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Make sure that it is a &lt;strong&gt;zip&lt;/strong&gt; file and not a &lt;strong&gt;rar&lt;/strong&gt; file. Failing to do so will result in an error like so:&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%2Ffqrnuv78l6sp21he7vya.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%2Ffqrnuv78l6sp21he7vya.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, you're done uploading your files. You may now delete the &lt;strong&gt;zip&lt;/strong&gt; file.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Moving Files &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;Go to the extracted folder. In this case, it is &lt;code&gt;jorenwebsite&lt;/code&gt;. Select the files you're going to move and click the move icon.&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%2Faw9lew33k0p8d2zxp5o7.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%2Faw9lew33k0p8d2zxp5o7.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then change the destination to &lt;code&gt;/public_html&lt;/code&gt;.&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%2Ff7db3roqmjd9sfdut0u9.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%2Ff7db3roqmjd9sfdut0u9.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, delete the folder in which the files where extracted. In this case it is &lt;code&gt;jorenweb&lt;/code&gt; folder.&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%2Fp1kjdvu0wg7zl0pxskh1.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%2Fp1kjdvu0wg7zl0pxskh1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this your site is now live at &lt;code&gt;&amp;lt;website-name&amp;gt;.000webhostapp.com&lt;/code&gt; .&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Configuring your Database &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;In the navigation, go to &lt;em&gt;Website Manager&lt;/em&gt;, then click &lt;em&gt;Database Manager&lt;/em&gt;.&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%2F4qfijuarotgvhsbuy2az.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%2F4qfijuarotgvhsbuy2az.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a &lt;em&gt;New Database&lt;/em&gt;.&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%2Fmckscy24k8hkx8gt1are.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%2Fmckscy24k8hkx8gt1are.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then enter your &lt;em&gt;Database Name&lt;/em&gt;, &lt;em&gt;Database Username&lt;/em&gt;, and &lt;em&gt;Password&lt;/em&gt;.&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%2Fzqy2kmtmnk6pfdrnbsyu.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%2Fzqy2kmtmnk6pfdrnbsyu.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now update your database configuration.&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%2Fdv4solsykj1ocj27lt1m.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%2Fdv4solsykj1ocj27lt1m.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the example above, the database config are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Database Name: id8995764_jorenweb&lt;/li&gt;
&lt;li&gt;Database User: id8995764_admin&lt;/li&gt;
&lt;li&gt;DB Host: localhost&lt;/li&gt;
&lt;li&gt;Password: &lt;code&gt;&amp;lt;the password you entered earlier&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then you can manage your database using &lt;em&gt;PhpMyAdmin&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In the navigation, go to &lt;em&gt;Import&lt;/em&gt;. In here, upload your SQL dump.&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%2Ftz9en8d96r099qaonrcr.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%2Ftz9en8d96r099qaonrcr.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Setting up your Web Address (optional) &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;By default, your app's web address is: &lt;code&gt;&amp;lt;website name&amp;gt;.000webhostapp.com&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To add a free custom domain name, go to &lt;a href="http://www.freenom.com/en/index.html?lang=en" rel="noopener noreferrer"&gt;Freenom&lt;/a&gt;. The extensions that are free are&lt;/p&gt;

&lt;p&gt;.TK / .ML / .GA / .CF / .GQ&lt;/p&gt;

&lt;p&gt;Check the domain’s availability and click &lt;em&gt;Checkout&lt;/em&gt;. &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%2Fhym5bhrcfldr7wn8arbx.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%2Fhym5bhrcfldr7wn8arbx.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After getting your domain, set up the &lt;em&gt;Name Servers&lt;/em&gt;. Click &lt;em&gt;Use DNS&lt;/em&gt; then fill up the fields:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Nameserver: &lt;code&gt;ns01.000webhost.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Nameserver: &lt;code&gt;ns02.000webhost.com&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or go to &lt;strong&gt;My Domains &amp;gt; Management Tools &amp;gt; Nameservers&lt;/strong&gt; to set it up.&lt;/p&gt;

&lt;p&gt;Also, pick the period in which you'll use the domain name then you may continue.&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%2Faq8c8fue6iamp0tb1ene.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%2Faq8c8fue6iamp0tb1ene.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In checkout, you'll receive an email in which it will redirect you to a registration page to finish the order.&lt;/p&gt;

&lt;p&gt;Return back to 000webhost.&lt;/p&gt;

&lt;p&gt;In the navigation, go to &lt;em&gt;Website Manager&lt;/em&gt; then click &lt;em&gt;Set Web Address&lt;/em&gt;.&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%2F5ngi9yq8n4hwmoor0w06.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%2F5ngi9yq8n4hwmoor0w06.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scroll down and click &lt;em&gt;Add Domain&lt;/em&gt;.&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%2F3ie3v5tzhjpvjfucejhc.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%2F3ie3v5tzhjpvjfucejhc.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pick &lt;em&gt;Park Domain&lt;/em&gt; then enter the domain name you registered in Freenom.&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%2F6dwau7tvp78uzhlui43f.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%2F6dwau7tvp78uzhlui43f.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then wait for the domain name to be linked. Changes may take up to 24 hours.&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%2F6cmoc07foz6ugjjwic9n.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%2F6cmoc07foz6ugjjwic9n.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  7. Check your Web App &lt;a&gt;&lt;/a&gt;
&lt;/h4&gt;

&lt;p&gt;See your website at &lt;code&gt;https://&amp;lt;website name&amp;gt;.000webhostapp.com/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;or if you have a park domain, &lt;code&gt;www.example.tk&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After that, you're done. Congrats! 🎉&lt;/p&gt;

&lt;p&gt;If you want some SSL certification for your website, you can use &lt;a href="https://www.cloudflare.com/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt; for free.&lt;/p&gt;

&lt;p&gt;For more information, you can visit the &lt;a href="https://www.000webhost.com/forum/" rel="noopener noreferrer"&gt;000webhost forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Return to TOC&lt;/p&gt;




&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;For websites that doesn't need a database you can use static web hosts like GitHub Pages, GitLab Pages, Netlify, and Surge. You can also explore and find other web hosts like Zeit and &lt;a href="https://aws.amazon.com/amplify/console/" rel="noopener noreferrer"&gt;AWS Amplify&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As for PHP+MySQL web apps, you can check out 000webhost if you're a beginner that doesn't use any frameworks. But be warned, it has great security risks and I do not recommend it for long-term usage. But if you want to deploy a Laravel App that uses MySQL you can check out Heroku + Remote MySQL. On the other hand, &lt;a href="https://www.heroku.com/" rel="noopener noreferrer"&gt;Heroku&lt;/a&gt; doesn't only offers PHP web app hosting. It can also host NodeJS, Ruby, Java, Python and Go web apps.&lt;/p&gt;

&lt;p&gt;These are the web hosts that I've found as I searched for ways of deploying my web apps. From uploading files to using Git thru the CLI, my deployment process became easier. I mostly enjoyed my shift from 000webhost to Heroku as I became comfortable with the CLI. Also, if you can, use a paid web host like &lt;a href="https://www.digitalocean.com/" rel="noopener noreferrer"&gt;Digital Ocean&lt;/a&gt; or &lt;a href="https://aws.amazon.com/" rel="noopener noreferrer"&gt;AWS&lt;/a&gt;. It's so worth while in the long run. I hoped that sharing this managed to help you in some way.&lt;/p&gt;

&lt;p&gt;Thanks for reading and happy coding! 😄 ☕&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>deployment</category>
      <category>netlify</category>
      <category>heroku</category>
    </item>
    <item>
      <title>My Web Development Process Part 2: Code</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Mon, 04 Mar 2019 01:52:32 +0000</pubDate>
      <link>https://dev.to/jorenrui/my-web-development-process-part-2-code-2c91</link>
      <guid>https://dev.to/jorenrui/my-web-development-process-part-2-code-2c91</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;I'll be discussing how I develop web-based apps. I'll include how I do things, what software I use, and resources that helped me. I'm still a college student. So I expect that my web development process will greatly evolve once I enter the workplace and gain more experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this post, I'll be discussing the &lt;strong&gt;code&lt;/strong&gt; part of my process.  If you missed the first one, feel free to read the Design Part of my process. 😊&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/my-web-development-process-part-1-design-7l1" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My Web Development Process Part 1: Design&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Feb 25 '19 ・ 8 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#design&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;For now, I'm following these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Research and Ideation&lt;/li&gt;
&lt;li&gt;Design 

&lt;ul&gt;
&lt;li&gt;User Experience (UX) Design 

&lt;ul&gt;
&lt;li&gt;Rough Sketches&lt;/li&gt;
&lt;li&gt;Wireframe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User Interface (UI) Design&lt;/li&gt;
&lt;li&gt;Database Design&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
Coding

&lt;ul&gt;
&lt;li&gt;Front End Development&lt;/li&gt;
&lt;li&gt;Back End Development&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Test and Deployment&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Coding &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Now that the designs are finalized, we can now start coding. My process consists of two parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
Front End Development - where I translate design to code.&lt;/li&gt;
&lt;li&gt;
Back End Development - where I add some logic and database.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I do front end first, then the back end after. &lt;/p&gt;

&lt;p&gt;I put breaks in between whenever I'm coding. This lets me ponder on the task I'm working on. I also realized that when I ran into a bug, breaks help. I'll set a time frame to work on that bug. When the time is up, I took a break whether I like it or not.&lt;/p&gt;

&lt;p&gt;I let my mind wander while I do other stuff that isn't coding. This makes me think of the solution from a different perspective. Not only machines overheat when overused, so does your brain. If you want to deliver your best, then you should practice self-care.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Front End Development &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Before I code, I gather the assets that I need such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fonts and Icons&lt;/li&gt;
&lt;li&gt;Pictures&lt;/li&gt;
&lt;li&gt;Others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also think of these questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Am I gonna use templates or should I go with a &lt;em&gt;custom one&lt;/em&gt;?&lt;/li&gt;
&lt;li&gt;Am I building this app with &lt;em&gt;scale&lt;/em&gt; in mind?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These questions are often considered in the design and planning phase. So you may know the answers by now.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If&lt;/em&gt; you're using a &lt;strong&gt;template&lt;/strong&gt;, then you can skip this part and go straight to Back End Development.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Else if&lt;/em&gt; you're going to create a &lt;strong&gt;custom one&lt;/strong&gt; then go ahead.&lt;/p&gt;
&lt;h4&gt;
  
  
  The Grid
&lt;/h4&gt;

&lt;p&gt;I first start with analyzing the layout of the design. I identify the &lt;em&gt;squares&lt;/em&gt; in each screen.&lt;/p&gt;

&lt;p&gt;Let's take this as an example:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iVoA9cT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/yiw4ko20jk74r2v0tqlr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iVoA9cT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/yiw4ko20jk74r2v0tqlr.png" alt="Tribute Page for Steve Jobs" width="880" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://jorenrui.gitlab.io/fcc-tribute-page/"&gt;Tribute Page I built for CSS Grid practice&lt;/a&gt;. Check the repo &lt;a href="https://gitlab.com/jorenrui/fcc-tribute-page"&gt;here&lt;/a&gt;.




&lt;p&gt;Those elements are all contained within a &lt;em&gt;box&lt;/em&gt;. Highlighting them, the result would be:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xo1TTGki--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/b96eumsow99n2oqh9z2g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xo1TTGki--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/b96eumsow99n2oqh9z2g.png" alt="Tribute Page for Steve Jobs drawn with colored boxes" width="880" height="412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I took a top-down approach. Starting from the bigger components then down to the smaller ones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Wtq8YFXt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/7y3nw2geia5zknnyup9p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Wtq8YFXt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/7y3nw2geia5zknnyup9p.png" alt="Side by side picture of the Tribute Page" width="880" height="253"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This way I'll get a clear grasp on its &lt;strong&gt;grid layout&lt;/strong&gt;. In here, the design has two major columns. The left is for the image with its caption, and the right is for the quote and some info. If the image on the left covered the whole left column, then I'll know that it's a background of a &lt;code&gt;div&lt;/code&gt;. But since it isn't, I can tell that it is an &lt;code&gt;img&lt;/code&gt; tag inside a &lt;code&gt;div&lt;/code&gt;. Though, it depends. One can have many solutions for an answer. You just have to pick the most suitable for that situation.&lt;/p&gt;

&lt;p&gt;Knowing how the layout is organized helps in knowing what kind of grid you're going to make. Then, I code the grid (CSS Grid, Bootstrap, etc.). I temporarily add background colors to visualize it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--95KomzyE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/owdz1tgvvj1ihdlokswd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--95KomzyE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/owdz1tgvvj1ihdlokswd.png" alt="Grid Layout" width="880" height="1022"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see the CSS Grid using Developer Tools:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fYAmgIE6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kb1vwsrnan0kf369mzkf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fYAmgIE6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kb1vwsrnan0kf369mzkf.png" alt="Developer Tools" width="424" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4YwnFwbD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jhh5dakqugiyc4z0ddfg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4YwnFwbD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jhh5dakqugiyc4z0ddfg.png" alt="A page in which the CSS Grid Layout is highlighted" width="880" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Though, you can also use it to see the grids you made using frameworks. Just use Developer Tools to your own advantage.&lt;/p&gt;
&lt;h4&gt;
  
  
  Iterate throughout the pages of the website
&lt;/h4&gt;

&lt;p&gt;Then, I'll repeat these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make a Grid (HTML &amp;amp; CSS)&lt;/li&gt;
&lt;li&gt;Add elements (HTML) - preferably use semantic tags&lt;/li&gt;
&lt;li&gt;Add styles (CSS)&lt;/li&gt;
&lt;li&gt;Add behavior (JS)&lt;/li&gt;
&lt;li&gt;Make it look good on different browsers (support IE, I dare lol. Just think of &lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/Graceful_degradation"&gt;graceful degradation&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Polish its responsiveness for mobiles, tablets, etc. (Media Queries)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I code, I go through each section per page. Then each page per website.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7CpWp7pf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vtskio8w9am4p19vlrie.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7CpWp7pf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vtskio8w9am4p19vlrie.jpg" alt="Multiple images of the development of the tribute page from start to finish" width="880" height="637"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't forget to polish your site for SEO and Accessibility.&lt;/p&gt;

&lt;p&gt;When the front end is done, I test deploy the app. Then, ask a teammate to test and review it. After that, I work on the revisions or bug fixes.&lt;/p&gt;

&lt;p&gt;Though, your process may evolve as you decide to use frameworks, libraries, preprocessors, task runners and such. What I've shown is the simple way (for me, I think haha) in doing the front end.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Back End Development &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I've only done back end twice: during my OJT and now in my current school project. So, I got nothing much to say in this.&lt;/p&gt;

&lt;p&gt;Anyways, my process kinda looks like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code the Database (Tables, views, and etc.)&lt;/li&gt;
&lt;li&gt;Populate the Database&lt;/li&gt;
&lt;li&gt;Work on Authentication (Login, Register, and etc.)&lt;/li&gt;
&lt;li&gt;Work on each module (Do them based on priority)

&lt;ul&gt;
&lt;li&gt;Add CRUD Operations&lt;/li&gt;
&lt;li&gt;Add Tricky Operations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Polish the Access Control&lt;/li&gt;
&lt;li&gt;Polish the Security/Validations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I prefer having mock data to work with that is why I start with the Database.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Code Editor (in case you're curious)
&lt;/h3&gt;

&lt;p&gt;For my code editor, I use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt; (powerful editor that has built-in git and terminal)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.sublimetext.com/"&gt;Sublime Text&lt;/a&gt; (simple editor that is quick and easy to use) then pairing it with &lt;a href="https://hyper.is/"&gt;Hyper&lt;/a&gt; (a beautiful interface)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I often switch around these two editors depending on my mood. Anyways, there are also other editors you can try out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://atom.io/"&gt;Atoms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://brackets.io/"&gt;Brackets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.vim.org/"&gt;Vim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've installed both &lt;a href="https://www.mozilla.org/en-US/firefox/new/"&gt;Firefox&lt;/a&gt; and &lt;a href="https://www.google.com/chrome/"&gt;Chrome&lt;/a&gt;. While &lt;a href="https://www.microsoft.com/en-ph/windows/microsoft-edge"&gt;Microsoft Edge&lt;/a&gt; is already installed. I mainly use Firefox for development then check the app using the other browsers.&lt;/p&gt;


&lt;h2&gt;
  
  
  Test and Deployment &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Now that the coding/development phase is done, we can now start testing. By the way, you can do Test Driven Development in the previous phase. It is where you write tests first, then work on creating functional code that passes these tests.&lt;/p&gt;

&lt;p&gt;After doing some front end, I test out my code if it works on all browsers. Then, I test out the functionalities one by one after adding some back end. When everything is all set, I test deploy the app and ask someone else to review and test it. Often times, they'll discover an issue. &lt;/p&gt;

&lt;p&gt;In the beginning, I used these for deployment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://ph.000webhost.com/"&gt;000webhost&lt;/a&gt; - it can host PHP+MySQL apps for free. (Yes, I use PHP for now... hehe)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt; - for static websites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was intimidated with the Command Line Interface (CLI) at first. I even upload files to GitHub instead of using Git lol.&lt;/p&gt;

&lt;p&gt;Now, I have seen the awesomeness and the glory of using the CLI. So I now use these for deployment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For Static Websites:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://surge.sh/"&gt;Surge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://about.gitlab.com/product/pages/"&gt;GitLab Pages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;For Web Apps:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.heroku.com/"&gt;Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;and &lt;a href="https://remotemysql.com/"&gt;remotemysql&lt;/a&gt; - for testing only&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You might want to check out this article regarding Deployment 👇&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Z4f1MV_8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--gDxITvxt--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/97966/54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/6-ways-to-deploy-your-personal-websites--php-mysql-web-apps-for-free-4m3a" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;6 Ways to Deploy your Personal Websites / PHP+ MySQL Web Apps for Free&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Mar 20 '19 ・ 21 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#deployment&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#netlify&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#heroku&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;





&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Seeing how requirements turn into designs which in turn be translated into code is awesome. You don't need to dive in deeper in other phases. Gaining some insights is enough. Understanding the fundamentals of other areas besides coding can help you grow as a developer.&lt;/p&gt;

&lt;p&gt;For the coding part, all I can is that &lt;em&gt;tests&lt;/em&gt; are important. Do it before or after you code the functionalities. Just don't forget about it. Also, getting feedback from your teammates is valuable. They may see something you might have overlooked.&lt;/p&gt;

&lt;p&gt;Hope that sharing my web development process helped you in any way. Now I'm curious how you guys do yours. 😆&lt;/p&gt;

&lt;p&gt;Thanks for reading and happy coding! ✨&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
    <item>
      <title>My Web Development Process Part 1: Design</title>
      <dc:creator>Joeylene</dc:creator>
      <pubDate>Mon, 25 Feb 2019 03:32:50 +0000</pubDate>
      <link>https://dev.to/jorenrui/my-web-development-process-part-1-design-7l1</link>
      <guid>https://dev.to/jorenrui/my-web-development-process-part-1-design-7l1</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;I'll be discussing how I develop web-based apps. I'll include how I do things, what software I use, and resources that helped me. I'm still a college student. So I expect that my web development process will greatly evolve once I enter the workplace and gain more experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In building several web-based applications over a year, my process went through several changes. In the past, I went straight to code. I often find myself staring at the screen for a few minutes thinking about how I'll proceed. I'll also try some ideas only to scrape it at the end.&lt;/p&gt;

&lt;p&gt;Development without any direction can get pretty messy. It may result in an ill-conceived or a not well thought-out app. So, I redesigned my workflow. As I gain more knowledge in web development, I realized that it isn't just about coding. It's about problem-solving.&lt;/p&gt;

&lt;p&gt;For now, I'm following these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Research and Ideation&lt;/li&gt;
&lt;li&gt;
Design 

&lt;ul&gt;
&lt;li&gt;
User Experience (UX) Design

&lt;ul&gt;
&lt;li&gt;Rough Sketches&lt;/li&gt;
&lt;li&gt;Wireframe&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;User Interface (UI) Design&lt;/li&gt;
&lt;li&gt;Database Design&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Coding

&lt;ul&gt;
&lt;li&gt;Front End Development&lt;/li&gt;
&lt;li&gt;Back End Development&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Test and Deployment&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Looking at it closely, it is similar to the &lt;a href="https://online.husson.edu/software-development-cycle/" rel="noopener noreferrer"&gt;Software Development Life Cycle (SDLC)&lt;/a&gt;. It is a process in which a  project team follows to develop software. It consists of six steps - planning, analysis, design, implementation, test, and maintenance.&lt;/p&gt;




&lt;h2&gt;
  
  
  Research and Ideation &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;To start, I'll strive to understand the project, its purpose, the client, and the audience. That can either be done by researching or asking the client. By doing this, I'll have a clear idea regarding what content should the app include.&lt;/p&gt;

&lt;p&gt;I'll also look at the apps built by others. It helps in giving me ideas on the similarities and differences of that kind of app. For example, e-commerce web apps usually have a shopping cart.&lt;/p&gt;

&lt;p&gt;I ask myself these questions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Who is the client?&lt;/li&gt;
&lt;li&gt;What is important to him/her?&lt;/li&gt;
&lt;li&gt;Who is the audience?&lt;/li&gt;
&lt;li&gt;What is important to them?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I got this idea when I was watching how &lt;a href="https://www.youtube.com/playlist?list=PLqGj3iMvMa4KeBN2krBtcO3U90_7SOl-A" rel="noopener noreferrer"&gt;Travis Neilson in DevTips builds his Personal Website&lt;/a&gt;. Watching multiple designers work got me interested in UX Design.&lt;/p&gt;

&lt;p&gt;Anyways, as the designer, it is your job to decide where the content will be placed that will satisfy both the client and the audience. Identifying what's important to both of them can guide you in making decisions. Without this step, you might build the project in the wrong direction.&lt;/p&gt;

&lt;p&gt;Knowing what contents that need to be prioritized, I've made lists. Ordered them based on priority.  Then, I'll think about how they're connected to each other. With this, I can establish the hierarchy of the content. Like the login page first then the admin dashboard page.&lt;/p&gt;

&lt;p&gt;Lastly, I'll think about what technology stack I'm going to use. I'll decide on the framework or the library for that project. Maybe, I may want to try plain HTML &amp;amp; CSS, and vanilla JS for fun or practice hehe.&lt;/p&gt;




&lt;h2&gt;
  
  
  Design &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  User Experience (UX) Design &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;User experience (UX) design&lt;/strong&gt; is the process of creating products that provide meaningful and relevant experiences to users.&lt;br&gt;
-&lt;a href="https://www.interaction-design.org/literature/topics/ux-design" rel="noopener noreferrer"&gt;Interaction Design Foundation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now that I have a clear idea of what the project should contain, I'll proceed to design. I consider the following in making the design:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Layout&lt;/li&gt;
&lt;li&gt;The flow of the app when a user uses it (User Flow I guess)&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Rough Sketches &lt;a&gt;&lt;/a&gt;
&lt;/h4&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffbjt5dse2sv2dl205cut.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffbjt5dse2sv2dl205cut.jpg" alt="Wireframe via pen and paper"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://www.instagram.com/p/BsKrL4eAseh/" rel="noopener noreferrer"&gt;Wireframe via pen and paper&lt;/a&gt;




&lt;p&gt;In this step, I'll think about how the content is going to be organized and presented. I'll start with rough sketches. Following the list of content I've written, I'll create at least three designs per item.&lt;/p&gt;

&lt;p&gt;I'll sketch out my ideas using pen and paper to lessen the distractions. I'll just let all my ideas flow. Not minding whether the lines are straight or not. Not being concerned if it looks great, just focusing on the layout. Just letting my mind go wild in shaping the form of the ideas I had in mind. I'm deciding what form the content should take.&lt;/p&gt;

&lt;p&gt;After I ran out of ideas, that's where I'll stop. I'll eliminate the designs that I'm not okay with. Then, pick the most suitable design out of them all.&lt;/p&gt;

&lt;p&gt;Next, I'll resketch it again in a neater way. I organize the screens and connect them, showing the flow of the app. There may be times when the design will vary due to constant re-evaluation and enhancement.&lt;/p&gt;

&lt;h4&gt;
  
  
  Wireframe &lt;a&gt;&lt;/a&gt;
&lt;/h4&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fuhwqifz8kxzmr1nygy2a.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fuhwqifz8kxzmr1nygy2a.jpg" alt="Wireframe and Prototyping using Adobe XD"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://www.instagram.com/p/BsnmaQIAP98/" rel="noopener noreferrer"&gt;Wireframe and Prototyping using Adobe XD&lt;/a&gt;




&lt;p&gt;Now, I'm ready for now some wireframing using Adobe XD. There are applications made for design. These are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.adobe.com/sea/products/xd.html" rel="noopener noreferrer"&gt;Adobe Experience Design&lt;/a&gt; - Mac and Windows (Currently using this)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://sketchapp.com/" rel="noopener noreferrer"&gt;Sketch&lt;/a&gt; - only for Mac users&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;Figma&lt;/a&gt; - Web-based, Mac, Windows, Linux&lt;/li&gt;
&lt;li&gt;There are others like &lt;a href="https://www.invisionapp.com/studio" rel="noopener noreferrer"&gt;inVision Studio&lt;/a&gt; and &lt;a href="https://www.uxpin.com/" rel="noopener noreferrer"&gt;UX Pin&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'll transfer my sketches from paper to the software. I only use different shades of black when doing the wireframes. This forces me to focus on the layout rather than the looks or style. I'll make it interactive through the use of &lt;em&gt;wires&lt;/em&gt; between the screens. Like when I click the &lt;em&gt;login button&lt;/em&gt;, it'll transfer me to the dashboard screen.&lt;/p&gt;

&lt;p&gt;With this, I can get early feedback from my team or my client. With other people's input, I can see what designs problems I've overlooked. This helps in refining the design. So that it'll focus on solving the problems encountered by the end users. It also prevents me from building the app in the wrong direction. After finishing the wireframe, I'm off to user interface design.&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  User Interface (UI) Design &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;User interface (UI) design&lt;/strong&gt; is the process of making interfaces in software or computerized devices with a focus on looks or style.&lt;br&gt;
-&lt;a href="https://www.interaction-design.org/literature/topics/ui-design" rel="noopener noreferrer"&gt;Interaction Design Foundation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9nqmbewm5aejhwodtqit.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9nqmbewm5aejhwodtqit.jpg" alt="Designing the Website using Photoshop"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://www.instagram.com/p/BskTW1UArej/" rel="noopener noreferrer"&gt;Designing the Website using Photoshop&lt;/a&gt;




&lt;p&gt;I'll skip this step when I've decided to use a template. Otherwise, I'll create my own design.&lt;/p&gt;

&lt;p&gt;I look at other's work for inspiration at least once a week. This keeps my creative mind going. It helps me to think of fresh ideas whenever I've hit a roadblock.&lt;/p&gt;

&lt;p&gt;For the color scheme, I use the logo's colors as a basis. I also consider the theme when picking colors. For nature, I'll pick green. For fast foods, I'll go with red and yellow to incite hunger. If it is for fun, I'll experiment with the color palette that I see in the environment.&lt;/p&gt;

&lt;p&gt;I limit myself when using fonts. Two or three are enough for me. I use fonts that complement each other. I also show the contrast between them. Like pairing the big, bold, sans serif headline with a regular, serif paragraph.&lt;/p&gt;

&lt;p&gt;While I have all those in mind, I prioritize readability. I choose colors that are pleasing to the eyes. I'll pick fonts that don't get away with reading the content. And I prefer short paragraphs as opposed to lengthy ones (if it isn't an article).&lt;/p&gt;

&lt;p&gt;For images, I'll pick high-resolution ones. Never stretching it, which distorts the image, just to fit the screen.&lt;/p&gt;

&lt;p&gt;Lastly, for the animation and transitions, I'm still learning it hehe.&lt;/p&gt;

&lt;p&gt;Software that I use in making the designs are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.adobe.com/sea/products/photoshop.html" rel="noopener noreferrer"&gt;Adobe Photoshop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.adobe.com/sea/products/xd.html" rel="noopener noreferrer"&gt;Adobe Experience Design&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are also others in which you can use like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.adobe.com/sea/products/illustrator.html" rel="noopener noreferrer"&gt;Adobe Illustrator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gimp.org/" rel="noopener noreferrer"&gt;GIMP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Software that I've mentioned earlier like &lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;Figma&lt;/a&gt;  and &lt;a href="https://sketchapp.com/" rel="noopener noreferrer"&gt;Sketch&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resources that helped me are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://dribbble.com/" rel="noopener noreferrer"&gt;Dribble&lt;/a&gt; - contains numerous works by awesome designer and creatives. I use it for inspiration.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://mycolor.space/" rel="noopener noreferrer"&gt;Color Space&lt;/a&gt; - for creating color palettes or gradients.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://paletton.com" rel="noopener noreferrer"&gt;Paletton&lt;/a&gt; - for creating color palettes.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://fontawesome.com/" rel="noopener noreferrer"&gt;Font Awesome&lt;/a&gt; - icon kit you can use.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://fonts.google.com/" rel="noopener noreferrer"&gt;Google Fonts&lt;/a&gt; - various fonts you can use.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://unsplash.com/" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt; - awesome photos you can use for free.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://undraw.co/illustrations" rel="noopener noreferrer"&gt;unDraw&lt;/a&gt; - open source illustrations.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://loremipsum.io/" rel="noopener noreferrer"&gt;Lorem Ipsum Generator&lt;/a&gt; - placeholder text generator.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Database Design &lt;a&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is for apps that need a database. I mostly do front end stuff. So, I rarely tackle this unless I have no choice. I often use RDBMS. I haven't tried noSQL yet.&lt;/p&gt;

&lt;p&gt;In database design, I start with analyzing the manual forms or documents I've gathered. These documents can be receipts or registration forms. Then, I normalize the data. This helps in preventing data anomalies.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Database normalization&lt;/strong&gt; is the process of structuring a &lt;a href="https://en.wikipedia.org/wiki/Relational_database" rel="noopener noreferrer"&gt;relational database&lt;/a&gt; in accordance with a series of so-called &lt;a href="https://en.wikipedia.org/wiki/Database_normalization#Normal_forms" rel="noopener noreferrer"&gt;normal forms&lt;/a&gt; in order to reduce &lt;a href="https://en.wikipedia.org/wiki/Data_redundancy" rel="noopener noreferrer"&gt;data redundancy&lt;/a&gt; and improve &lt;a href="https://en.wikipedia.org/wiki/Data_integrity" rel="noopener noreferrer"&gt;data integrity&lt;/a&gt;&lt;br&gt;
-&lt;a href="https://en.wikipedia.org/wiki/Database_normalization" rel="noopener noreferrer"&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fams6ku7y6is16q7epc8o.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fams6ku7y6is16q7epc8o.jpg" alt="Data Normalization via pen and paper"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://www.instagram.com/p/BtQtWyaA9yk/" rel="noopener noreferrer"&gt;Data Normalization via pen and paper&lt;/a&gt;




&lt;p&gt;Then I create an Entity Relationship Diagram to help me visualize their relationships. The diagram becomes my guide whenever I'm programming and maintaining the database.&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fp6g2p7oy8fethedkrvwl.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fp6g2p7oy8fethedkrvwl.jpg" alt="Entity Relationship Diagram via pen and paper"&gt;&lt;/a&gt;&lt;/p&gt;

    &lt;a href="https://www.instagram.com/p/BtXVaEEAGnx/" rel="noopener noreferrer"&gt;Entity Relationship Diagram via pen and paper&lt;/a&gt;




&lt;p&gt;As you can see, I prefer to sketch out my ideas first before converting it to digital.&lt;/p&gt;


&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Taking the time to research, plan, and design can greatly affect the quality of the app. Jumping straight into code, like what I do in the past, can make web development messy.&lt;/p&gt;

&lt;p&gt;Researching and planning can lead you to develop apps with purpose and intention. It helps you to identify what is important, and the problems that need to be addressed. Designing can make your app usable and understandable. It also makes you think about the user experience. &lt;/p&gt;

&lt;p&gt;I'm constantly learning web development. So, I expect some changes to my process as I gain more experience. It's so awesome to know that each step has a special role to play in web development. Since it isn't only about coding, it is about solving problems. That's why I'm eager to learn more about other fields besides coding.&lt;/p&gt;

&lt;p&gt;And that's Part 1 of My Web Development Process. Part 2 is gonna be about coding.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/jorenrui" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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%2Fuser%2Fprofile_image%2F97966%2F54edb035-222b-4acb-b65a-6e93f5b0a477.jpeg" alt="jorenrui"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/jorenrui/my-web-development-process-part-2-code-2c91" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My Web Development Process Part 2: Code&lt;/h2&gt;
      &lt;h3&gt;Joeylene ・ Mar 4 '19&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;I hope you've enjoyed reading this. Thanks for your time and happy coding! 😊&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
    </item>
  </channel>
</rss>
