<?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: Farooq</title>
    <description>The latest articles on DEV Community by Farooq (@rooqidev).</description>
    <link>https://dev.to/rooqidev</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%2F3579372%2F38ce5165-1bc7-444a-bd9e-4938606d8e8a.jpeg</url>
      <title>DEV Community: Farooq</title>
      <link>https://dev.to/rooqidev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rooqidev"/>
    <language>en</language>
    <item>
      <title>How I Solved a Data-Driving Challenge while Building My Quote Gallery SPA</title>
      <dc:creator>Farooq</dc:creator>
      <pubDate>Sun, 09 Nov 2025 09:15:48 +0000</pubDate>
      <link>https://dev.to/rooqidev/how-i-solved-a-data-driving-challenge-while-building-my-quote-gallery-spa-330f</link>
      <guid>https://dev.to/rooqidev/how-i-solved-a-data-driving-challenge-while-building-my-quote-gallery-spa-330f</guid>
      <description>&lt;p&gt;This challenge i faced when i was working on my first data driven modular project called Quote Gallery (SPA).&lt;/p&gt;

&lt;p&gt;I created everything from folder structure and routing system to connecting home page with that quotes storage file. Now the next task was to show that quote and it's author name equally and at same time on another two pages of this app, quote page &amp;amp; author page, right after user entered &amp;amp; specified the category in quote search bar, &lt;/p&gt;

&lt;p&gt;I spended my whole day in just figuring out that, how i will do it, how will i create that fluid data driving system, that will flow data automatically right after user clicked "Show Me".&lt;/p&gt;

&lt;p&gt;I tried many things, like i try creating functional system, importing that quote page and author page functions and quote storage file here in home page, user will click that show me button and it will send that input data to that imported storage file and it will check whether that category entered by user is exists or not, if exists, author and quote page's imported functions will take that quote data with its author name, and they will present it in their pages, and it simply doesn't work...&lt;/p&gt;

&lt;p&gt;I tried this method again and again, even with different approaches, but nothing worked. Then i asked chatgpt about it, about how can i show data simultaneously right after user clicked "Show me". It helped me a little by telling me about some ideas and methods i can follow to create this kind of system.. &lt;/p&gt;

&lt;p&gt;One method that chatgpt told me, it was about using localstorage, although previously i was tried that method, but then there's mistake i did, i used Arrays in localstorage, and it becomes the reason for the failure, and i can't be successful in creating that data driving system..., i left that method.&lt;/p&gt;

&lt;p&gt;but now, one thing get click to my brain. and that was ---- instead using localstorage this way...&lt;/p&gt;

&lt;p&gt;const quotedata = JSON.parse(localStorage.getItem("quotedata")) || {};&lt;/p&gt;

&lt;p&gt;Now i write localStorage this way On that quote storage file,&lt;/p&gt;

&lt;p&gt;For quote:&lt;br&gt;&lt;br&gt;
localStorage.setItem("quote", thatQoute);&lt;/p&gt;

&lt;p&gt;For author:&lt;br&gt;
localStorage.setItem("author", thatAuthor);&lt;/p&gt;

&lt;p&gt;Now if that quote exists, it will get saved in this localStorage, these will save that quote and it's author data separately. I will call this localStorage data from author &amp;amp; quote pages. like,,&lt;/p&gt;

&lt;p&gt;localStorage.getItem("author");&lt;br&gt;
localStorage.getItem("quote");&lt;/p&gt;

&lt;p&gt;And present them,&lt;/p&gt;

&lt;p&gt;It worked, after trying this idea, my app started working just as i expected it to work.&lt;/p&gt;

&lt;p&gt;And finally, i successfully created that fluid data driving system in my first Data-Driven SPA (Quote Gallery). Now, if you don't understand this, or my explanation didn't help you in any way. You wanted to learn and understand it by looking at that code, like how i actually defined that localStorage system.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/rooqidev/Quote-Gallery-SPA-" rel="noopener noreferrer"&gt;Here's it's GitHub repo:&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vanillajs</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How i Solved My First Modular Project Deployment Issue on GitHub</title>
      <dc:creator>Farooq</dc:creator>
      <pubDate>Tue, 04 Nov 2025 04:27:52 +0000</pubDate>
      <link>https://dev.to/rooqidev/how-i-solved-my-first-modular-project-deployment-issue-on-github-40ah</link>
      <guid>https://dev.to/rooqidev/how-i-solved-my-first-modular-project-deployment-issue-on-github-40ah</guid>
      <description>&lt;p&gt;I'm talking about the problem i face during deploying my first Modular project called contact manager (SPA) on my GitHub profile, and then how i solved it.&lt;/p&gt;

&lt;p&gt;First of all, if you don't know anything about what is modular project, or SPA (single page application), its not something totally different type, it runs same as that simple 3 files (index.html, style.css &amp;amp; main.js) web app, but now it has many files, like if i show you in visuals,&lt;/p&gt;

&lt;p&gt;/simple web application&lt;/p&gt;

&lt;p&gt;|---- index.html&lt;br&gt;
|---- main.js&lt;br&gt;
|---- style.css&lt;/p&gt;




&lt;p&gt;/Modular (Single Page Application)&lt;/p&gt;

&lt;p&gt;├── index.html&lt;br&gt;
├── /js/&lt;br&gt;
│   ├── app.js&lt;br&gt;
│   ├── router.js&lt;br&gt;
│   └── views/&lt;br&gt;
│       ├── HomeView.js&lt;br&gt;
│       ├── CompletedView.js&lt;br&gt;
│       └── StatsView.js&lt;br&gt;
└── /css/&lt;br&gt;
    └── style.css&lt;/p&gt;

&lt;p&gt;So what actually happened, i built and practiced my first Single Application Project, and after making it working perfectly, after polishing it a bit, i think i should push it to my GitHub, as my first step in building SPAs, but what happens when i try pushing it,&lt;/p&gt;

&lt;p&gt;If you're a dev who use GitHub, you might know that GitHub doesn't allow pushing whole project folder at once, it allows only files not folders, especially if you're pushing your project manually on GitHub through browser drag &amp;amp; drop. &lt;/p&gt;

&lt;p&gt;So i need to create a copy of that project, and i flattened that whole copy, remove all folders &amp;amp; edit all the imports,&lt;br&gt;
from this ---&amp;gt;  '/src/js/router.js' to that ---&amp;gt; '/router.js'..&lt;/p&gt;

&lt;p&gt;Then i started creating a repo on my GitHub for that project, i setup it carefully with nice name and description, &amp;amp; i pushed my project file by file, then after making it live, when i opened that live site, i got panicked,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favwcqfscj57oto0hyupa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Favwcqfscj57oto0hyupa.png" alt="Issue i face on GitHub for modular project" width="675" height="1375"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What happened,?.. while testing that flatten version on local server, it was working perfectly, but i don't understand what happened on gitHub, why GitHub's  behavior is something different for this project than my previous simple three file projects i pushed, i know that it has many files, &amp;amp; i was expecting that kind of issue,&lt;/p&gt;

&lt;p&gt;I immediately go to chat gpt, i asked, &lt;/p&gt;

&lt;p&gt;"Is modular Javascript project, doesn't work as normal one file Javascript web projects on github?"&lt;/p&gt;

&lt;p&gt;It's response was:&lt;/p&gt;

&lt;p&gt;"When you create a modular JavaScript project (like an SPA with ES modules), your files are split across multiple JS modules:&lt;/p&gt;

&lt;p&gt;// main.js&lt;br&gt;
import { showQuotes } from './utils/quote.js';&lt;/p&gt;

&lt;p&gt;Here the browser needs to load each imported file separately, respecting the module system.&lt;/p&gt;

&lt;p&gt;But GitHub Pages (and normal static hosting) just serves plain files — it doesn’t “build” or bundle your project like npm/Vite does.&lt;br&gt;
So if your folder structure or import paths aren’t correct (especially case sensitivity or relative paths), or if your imports use local paths, it can break after deployment." &lt;/p&gt;

&lt;p&gt;It suggested me some common reasons like&lt;/p&gt;

&lt;p&gt;"1. Missing type="module"&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Wrong import paths (case or folder)&lt;br&gt;
GitHub Pages URLs are case-sensitive.&lt;br&gt;
So import "./Utils.js" ≠ utils.js.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Root-relative imports fail&lt;br&gt;
Don’t use /src/..., always use relative paths like ./src/....&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Files not uploaded correctly&lt;br&gt;
If your folder structure changes (e.g. src/ or modules/), make sure the exact structure is uploaded.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Index file not at the root&lt;br&gt;
GitHub Pages serves from / by default, so index.html must be in the root of your repository (not inside src)."&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;then i explain everything to it, what i did like&lt;/p&gt;

&lt;p&gt;"In local server it was working perfectly... right know, its impossible for me to do upload whole folder at once even if i try, GitHub drag &amp;amp; drop only allow files not folders...&lt;/p&gt;

&lt;p&gt;I made a copy of my project, &amp;amp; edited it, for GitHub, i removed all folders, &amp;amp; reconnected modules file to file,&lt;br&gt;
then i tested it locally, it was fully ready for github, but now, don't know why GitHub behaving this way"&lt;/p&gt;

&lt;p&gt;my code doesn't have any problems like the ones you showed as reasons, then it suggested me something that changes everything for me, he suggested me to do one thing..&lt;/p&gt;

&lt;p&gt;It asked me to update each import in each file in that project on github, what it wanted me to do is,&lt;/p&gt;

&lt;p&gt;I should update my imports, from '/app.js' to './app.js', &lt;br&gt;
or from '/style.css' to './style.css'&lt;/p&gt;

&lt;p&gt;In easy words, it wanted me to add '.' before every import in that project, and when i try running my project on github after doing all of these things.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fraewuqxqihsh3x9nrctm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fraewuqxqihsh3x9nrctm.png" alt="Application running successfully after adding dots before before every import" width="720" height="1600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Boom... i successfully deployed my first modular project. I built and made it run live on github, the issue i was facing, was gone now. &lt;/p&gt;

&lt;p&gt;I learned &amp;amp; understand that deploying modular JS projects is slightly different from regular scripts. Always check your paths, use a local server, and remember that GitHub Pages hosts your files at a specific URL structure. &lt;/p&gt;

&lt;p&gt;This small issue taught me something bigger — every error or failure hides a new concept waiting to be understood.&lt;br&gt;
I used to get nervous when something broke, but now I see it as part of learning. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/rooqidev/Contact-Manager-SPA-" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;:&lt;br&gt;
&lt;a href="https://github.com/rooqidev/Contact-Manager-SPA-" rel="noopener noreferrer"&gt;Source Code&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>vanillajs</category>
      <category>learning</category>
    </item>
    <item>
      <title>How I Started Building Neat App UIs Using Two Simple Rules</title>
      <dc:creator>Farooq</dc:creator>
      <pubDate>Sat, 25 Oct 2025 04:18:32 +0000</pubDate>
      <link>https://dev.to/rooqidev/how-i-started-building-neat-app-uis-using-two-simple-rules-1mka</link>
      <guid>https://dev.to/rooqidev/how-i-started-building-neat-app-uis-using-two-simple-rules-1mka</guid>
      <description>&lt;p&gt;I’ve never been into UI/UX design — I mostly focus on logic and functionality.   I'm not quite good in making uis, but this week, I learned and i tried applying two simple design rules in my ui making, and my projects started to look completely different.&lt;/p&gt;

&lt;p&gt;The Two Rules I Follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Leave enough space (padding, margins, gaps), it instantly makes everything look calm and readable. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use only 2–3 colors, it keeps the app cohesive and easy on the eyes.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once I started following these, I realized making clean designs doesn’t have to be a big deal. Even simple layouts started feeling modern and organized if you try following these two rules carefully. Here's some projects i try applying these rules on,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://rooqidev.github.io/My-Expense-Tracker-App/" rel="noopener noreferrer"&gt;Expense Tracker App&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rooqidev.github.io/A-counter-App/" rel="noopener noreferrer"&gt;A Counter App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both use these rules — and they look better many times without any fancy design tools. I learned that simplicity is the real design power. You don’t have to love UI — just keep it clean, consistent, and calm.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>ui</category>
    </item>
    <item>
      <title>Learning Web Development Entirely from Mobile — My Journey Begins</title>
      <dc:creator>Farooq</dc:creator>
      <pubDate>Thu, 23 Oct 2025 03:36:58 +0000</pubDate>
      <link>https://dev.to/rooqidev/learning-web-development-entirely-from-mobile-my-journey-begins-1850</link>
      <guid>https://dev.to/rooqidev/learning-web-development-entirely-from-mobile-my-journey-begins-1850</guid>
      <description>&lt;p&gt;Hey everyone, I’m Farooq!&lt;br&gt;
I’m currently learning frontend development — focused on core technologies like Vanilla JS, HTML, and CSS — completely from my mobile setup.&lt;/p&gt;

&lt;p&gt;It’s not always easy, but I'm really interested in development, creating things, solving problems, building small web applications and tools that do or solve, even something small.&lt;/p&gt;

&lt;p&gt;This is my first post on DEV, and I’ll be sharing weekly updates about my learning progress, small projects, and the lessons I pick up along the way.&lt;/p&gt;

&lt;p&gt;My goal is to grow step by step, build real things, and inspire others who might be learning with limited tools too.&lt;/p&gt;

&lt;p&gt;Thanks for reading, and feel free to follow along — I’d love to connect with others on a similar path.&lt;/p&gt;

</description>
      <category>introduction</category>
      <category>javascript</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
