<?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: Meshv Patel</title>
    <description>The latest articles on DEV Community by Meshv Patel (@meshvpatel18).</description>
    <link>https://dev.to/meshvpatel18</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%2F827314%2Fa852250c-3254-4e9f-bdae-677d3dc41a27.jpg</url>
      <title>DEV Community: Meshv Patel</title>
      <link>https://dev.to/meshvpatel18</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/meshvpatel18"/>
    <language>en</language>
    <item>
      <title>🚀 Salesforce Launches a Free CRM Suite for Small Businesses — A Game-Changer for SMBs in 2025</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Mon, 17 Nov 2025 12:15:00 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/salesforce-launches-a-free-crm-suite-for-small-businesses-a-game-changer-for-smbs-in-2025-2ion</link>
      <guid>https://dev.to/meshvpatel18/salesforce-launches-a-free-crm-suite-for-small-businesses-a-game-changer-for-smbs-in-2025-2ion</guid>
      <description>&lt;p&gt;Salesforce has officially entered the world of &lt;strong&gt;free tools&lt;/strong&gt; — and this time, it's big.&lt;/p&gt;

&lt;p&gt;To support startups, freelancers, and small businesses, Salesforce has launched a &lt;strong&gt;Forever-Free CRM Suite&lt;/strong&gt; that offers core sales, service, and marketing features &lt;em&gt;with zero cost&lt;/em&gt;.  &lt;/p&gt;

&lt;p&gt;This move has the potential to shake up the entire CRM market, especially for small teams that rely heavily on spreadsheets and manual processes.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌟 What Is Salesforce Free Suite?
&lt;/h2&gt;

&lt;p&gt;Salesforce Free Suite is a &lt;strong&gt;no-cost CRM&lt;/strong&gt; designed specifically for small teams (up to &lt;strong&gt;2 users&lt;/strong&gt;).&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%2F093hwe0kcf03gxvs4ohx.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%2F093hwe0kcf03gxvs4ohx.png" alt="Salesforce Free Suite Banner" width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It includes:&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%2Fv70oemr78jfo4s20iscl.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%2Fv70oemr78jfo4s20iscl.png" alt="Features" width="800" height="557"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✔️ Sales Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Lead Management
&lt;/li&gt;
&lt;li&gt;Opportunity Pipeline
&lt;/li&gt;
&lt;li&gt;Contact &amp;amp; Account Management
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✔️ Service Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Case Management
&lt;/li&gt;
&lt;li&gt;Basic Knowledge Base
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✔️ Marketing Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Email Marketing (100 emails/month)
&lt;/li&gt;
&lt;li&gt;Ready-made templates
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✔️ Productivity Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dashboards
&lt;/li&gt;
&lt;li&gt;Tasks &amp;amp; Activities
&lt;/li&gt;
&lt;li&gt;Gmail/Outlook/Calendar integrations (region dependent)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In short: &lt;em&gt;the essential Salesforce experience, without the price tag.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 Why This Matters for Small Businesses
&lt;/h2&gt;

&lt;p&gt;Many small businesses feel CRM tools are too expensive or too complicated. Salesforce just removed that barrier.&lt;/p&gt;

&lt;p&gt;Here’s why this is a huge win for SMBs:&lt;/p&gt;

&lt;h3&gt;
  
  
  1️⃣ Zero Risk
&lt;/h3&gt;

&lt;p&gt;No credit card, no subscription, no expiry. Just sign up.&lt;/p&gt;

&lt;h3&gt;
  
  
  2️⃣ All Customer Data in One Place
&lt;/h3&gt;

&lt;p&gt;Leads, contacts, follow-ups, support tickets — all centralized.&lt;/p&gt;

&lt;h3&gt;
  
  
  3️⃣ Easy Upgrade Path
&lt;/h3&gt;

&lt;p&gt;Start free → upgrade later as your team grows into the Starter or Pro Suite.&lt;/p&gt;

&lt;h3&gt;
  
  
  4️⃣ Backed by Salesforce
&lt;/h3&gt;

&lt;p&gt;Enterprise-grade reliability, security, and ecosystem support.&lt;/p&gt;

&lt;h3&gt;
  
  
  5️⃣ Perfect for Indian SMBs
&lt;/h3&gt;

&lt;p&gt;Consultants, agencies, local businesses, freelancers — everyone can use it without spending a rupee.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 What You Get in the Free Version
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Included&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Up to &lt;strong&gt;2 users&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Sales + Service + Marketing basics
&lt;/li&gt;
&lt;li&gt;Case management
&lt;/li&gt;
&lt;li&gt;Email marketing (100/month)
&lt;/li&gt;
&lt;li&gt;Reports &amp;amp; Dashboards
&lt;/li&gt;
&lt;li&gt;Mobile app
&lt;/li&gt;
&lt;li&gt;Integration with Gmail/Outlook
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Limitations&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Only 2 users allowed
&lt;/li&gt;
&lt;li&gt;Limited automation
&lt;/li&gt;
&lt;li&gt;Low email volume
&lt;/li&gt;
&lt;li&gt;Some advanced customization requires paid tiers
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still — for a free CRM, this is one of the most generous offerings on the market.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Who Should Use Salesforce Free Suite?
&lt;/h2&gt;

&lt;p&gt;This is ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Freelancers &amp;amp; consultants
&lt;/li&gt;
&lt;li&gt;Early-stage startups
&lt;/li&gt;
&lt;li&gt;Small agencies
&lt;/li&gt;
&lt;li&gt;Coaches &amp;amp; trainers
&lt;/li&gt;
&lt;li&gt;Local small businesses (real estate, travel, events, education, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re not ready to invest in a monthly CRM subscription, this is the perfect starting point.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔧 Getting Started in 10 Minutes
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.salesforce.com/crm/free-crm/" rel="noopener noreferrer"&gt;Sign up&lt;/a&gt; — no credit card required
&lt;/li&gt;
&lt;li&gt;Add contacts &amp;amp; leads
&lt;/li&gt;
&lt;li&gt;Set up a simple sales pipeline
&lt;/li&gt;
&lt;li&gt;Configure follow-up reminders
&lt;/li&gt;
&lt;li&gt;Create your first dashboard
&lt;/li&gt;
&lt;li&gt;Start managing your deals and support cases&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A small business can go from &lt;strong&gt;no CRM → fully operational&lt;/strong&gt; in under an hour.&lt;/p&gt;




&lt;h2&gt;
  
  
  📌 Why Salesforce Developers &amp;amp; Admins Should Care
&lt;/h2&gt;

&lt;p&gt;If you’re working in the Salesforce ecosystem, this creates new opportunities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build POCs for clients &lt;strong&gt;without needing paid licenses&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Recommend CRM adoption to SMBs
&lt;/li&gt;
&lt;li&gt;Practice and experiment with real Salesforce objects
&lt;/li&gt;
&lt;li&gt;Offer “Quick CRM Setup for Small Business” as a paid service
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This free suite could massively increase Salesforce adoption across small businesses.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎯 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Salesforce Free Suite is more than a free product — it’s a strategic push to make CRM accessible for everyone.&lt;/p&gt;

&lt;p&gt;For small businesses, it's a chance to run sales, service, marketing, and customer operations with &lt;strong&gt;enterprise-level tools at zero cost&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For developers and admins, it’s a new playground — and a new business opportunity.&lt;/p&gt;

&lt;p&gt;Now is the best time for SMBs to shift from spreadsheets → CRM.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>cloud</category>
      <category>saas</category>
    </item>
    <item>
      <title>🚀 Google Gemini Pro Plan Worth ₹35,100 Is Now FREE for Jio Users — Here’s How to Activate It!</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Fri, 07 Nov 2025 13:39:32 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/google-gemini-pro-plan-worth-35100-is-now-free-for-jio-users-heres-how-to-activate-it-5279</link>
      <guid>https://dev.to/meshvpatel18/google-gemini-pro-plan-worth-35100-is-now-free-for-jio-users-heres-how-to-activate-it-5279</guid>
      <description>&lt;p&gt;AI just got a massive push in India.&lt;br&gt;&lt;br&gt;
Reliance &lt;strong&gt;Jio&lt;/strong&gt; has teamed up with &lt;strong&gt;Google&lt;/strong&gt; to give its users &lt;strong&gt;18 months of FREE access&lt;/strong&gt; to the &lt;strong&gt;Google Gemini AI Pro Plan&lt;/strong&gt;, valued at &lt;strong&gt;₹35,100&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;That’s right — you get access to &lt;strong&gt;Gemini 2.5 Pro&lt;/strong&gt;, &lt;strong&gt;2 TB Google Cloud storage&lt;/strong&gt;, and &lt;strong&gt;advanced AI tools&lt;/strong&gt; — all included in your Jio plan.  &lt;/p&gt;

&lt;p&gt;Let’s explore what’s inside this bundle, why it’s a game-changer for developers, and how you can activate it in just a few taps.&lt;/p&gt;




&lt;h2&gt;
  
  
  💡 What’s Included in the Google Gemini Pro Plan
&lt;/h2&gt;

&lt;p&gt;Under this partnership, eligible Jio users get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧠 &lt;strong&gt;Gemini 2.5 Pro Access&lt;/strong&gt; – Google’s most powerful multimodal AI (text, images, audio, video, and code).
&lt;/li&gt;
&lt;li&gt;☁️ &lt;strong&gt;2 TB Google Cloud Storage&lt;/strong&gt; – Expands your Drive, Gmail, and Photos storage.
&lt;/li&gt;
&lt;li&gt;📘 &lt;strong&gt;NotebookLM Pro Access&lt;/strong&gt; – Upload entire project docs, PDFs, and notes for AI-powered summarization.
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Generative Media Tools&lt;/strong&gt; – Create visuals, UI prototypes, and social posts from prompts.
&lt;/li&gt;
&lt;li&gt;⚙️ &lt;strong&gt;AI Productivity Suite&lt;/strong&gt; – Integrated with Google Workspace (Docs, Sheets, Slides, Gmail).
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🕒 &lt;strong&gt;Duration:&lt;/strong&gt; 18 months&lt;br&gt;&lt;br&gt;
💰 &lt;strong&gt;Value:&lt;/strong&gt; ₹35,100&lt;br&gt;&lt;br&gt;
📱 &lt;strong&gt;Availability:&lt;/strong&gt; Jio 5G unlimited plan users (rollout in phases)&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚙️ How to Claim the Offer (Official Steps)
&lt;/h2&gt;

&lt;p&gt;You can activate your free Gemini AI Pro plan right inside the &lt;strong&gt;MyJio app&lt;/strong&gt;.  &lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 Method 1: Quick Steps
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Open &lt;strong&gt;MyJio App&lt;/strong&gt; → Tap the &lt;strong&gt;“Claim Google Gemini Plan”&lt;/strong&gt; banner.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Tap &lt;strong&gt;Activate Plan.&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; Tap &lt;strong&gt;Go to Gemini&lt;/strong&gt; — and boom, you’re in!  &lt;/p&gt;




&lt;h3&gt;
  
  
  🔹 Method 2: Alternate Flow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Open the &lt;strong&gt;MyJio app&lt;/strong&gt;. You’ll see a banner at the top saying &lt;em&gt;Claim Google Gemini Plan&lt;/em&gt;. Tap it.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; A new page opens → tap &lt;strong&gt;Activate Plan&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; It redirects you → tap &lt;strong&gt;Go to Gemini&lt;/strong&gt;, and that’s it.&lt;br&gt;&lt;br&gt;
Your &lt;strong&gt;Google Gemini AI Pro&lt;/strong&gt; plan is now active! ✅  &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📝 &lt;strong&gt;Tip:&lt;/strong&gt; If the banner isn’t visible yet, keep checking. The offer is rolling out in batches.&lt;/p&gt;
&lt;/blockquote&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%2Fpbs.twimg.com%2Fmedia%2FG5J2B0BbAAA9keC%3Fformat%3Djpg%26name%3Dsmall" 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%2Fpbs.twimg.com%2Fmedia%2FG5J2B0BbAAA9keC%3Fformat%3Djpg%26name%3Dsmall" alt="Jio Home" width="679" height="401"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FG5JuP8wbUAAvnJz%3Fformat%3Djpg%26name%3D4096x4096" 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%2Fpbs.twimg.com%2Fmedia%2FG5JuP8wbUAAvnJz%3Fformat%3Djpg%26name%3D4096x4096" alt="Claiming" width="1240" height="2211"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpbs.twimg.com%2Fmedia%2FG5JuQBQaoAA3k3H%3Fformat%3Djpg%26name%3D4096x4096" 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%2Fpbs.twimg.com%2Fmedia%2FG5JuQBQaoAA3k3H%3Fformat%3Djpg%26name%3D4096x4096" alt="Final" width="1240" height="2412"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👨‍💻 Why This Matters for Developers and Tech Professionals
&lt;/h2&gt;

&lt;p&gt;This isn’t just a promo — it’s one of the biggest tech collaborations of the year.&lt;br&gt;&lt;br&gt;
Here’s why it’s huge for developers, students, and AI enthusiasts:&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 1. Code, Debug, and Learn Faster
&lt;/h3&gt;

&lt;p&gt;Gemini 2.5 Pro can understand code in Apex, Python, JavaScript, and more.&lt;br&gt;&lt;br&gt;
You can generate Lightning Web Components, fix syntax issues, or even ask for secure cybersecurity scripts.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
“Write a Salesforce Apex method to create a new Contact and return the ID.”&lt;br&gt;&lt;br&gt;
Gemini will instantly write, explain, and optimize it.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  ☁️ 2. Your Cloud Storage Just Leveled Up
&lt;/h3&gt;

&lt;p&gt;2 TB of free storage = more space for:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Source code repositories
&lt;/li&gt;
&lt;li&gt;Dev logs, reports, and backups
&lt;/li&gt;
&lt;li&gt;AI/ML datasets
&lt;/li&gt;
&lt;li&gt;Study material or personal archives
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧠 3. Smarter Learning &amp;amp; Cybersecurity Research
&lt;/h3&gt;

&lt;p&gt;Upload whitepapers, PDFs, and security reports into &lt;strong&gt;NotebookLM&lt;/strong&gt;, then let AI summarize or cross-reference them.&lt;br&gt;&lt;br&gt;
This is perfect for developers transitioning into &lt;strong&gt;cybersecurity&lt;/strong&gt; or &lt;strong&gt;AI research&lt;/strong&gt;.  &lt;/p&gt;




&lt;h3&gt;
  
  
  ⚡ 4. Faster Project Delivery
&lt;/h3&gt;

&lt;p&gt;You can now use Gemini Pro as a &lt;strong&gt;virtual co-developer&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;
From documentation generation to API design — it’s like having an assistant who never sleeps.&lt;/p&gt;




&lt;h2&gt;
  
  
  🌏 The Bigger Picture: India’s AI Leap Forward
&lt;/h2&gt;

&lt;p&gt;This partnership shows how India is leading the next phase of the AI revolution — where &lt;strong&gt;connectivity meets intelligence&lt;/strong&gt;.  &lt;/p&gt;

&lt;p&gt;With Jio’s 5G coverage and Google’s AI capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every student can now access advanced AI tools for free.
&lt;/li&gt;
&lt;li&gt;Developers get enterprise-level AI without subscriptions.
&lt;/li&gt;
&lt;li&gt;Freelancers and tech creators can build smarter, faster, and cheaper.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the &lt;strong&gt;democratization of AI&lt;/strong&gt;, starting right here in India 🇮🇳.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚠️ Important Notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ensure your &lt;strong&gt;Jio 5G plan&lt;/strong&gt; remains active to keep your Gemini access.
&lt;/li&gt;
&lt;li&gt;Some early offers target users &lt;strong&gt;aged 18–25&lt;/strong&gt;, but more age groups will be added soon.
&lt;/li&gt;
&lt;li&gt;Offer valid for &lt;strong&gt;18 months&lt;/strong&gt; from activation date.
&lt;/li&gt;
&lt;li&gt;Post-offer, your plan may revert to the free Gemini tier unless renewed.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧩 How Developers Can Use This Bundle
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;How Gemini Pro Helps&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Full-Stack / Web Dev&lt;/td&gt;
&lt;td&gt;Build and debug JS, Node, React components&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cybersecurity&lt;/td&gt;
&lt;td&gt;Analyze logs, generate regex rules, simulate attacks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Science&lt;/td&gt;
&lt;td&gt;Clean and transform datasets, visualize trends&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blogging&lt;/td&gt;
&lt;td&gt;Write technical content and SEO drafts effortlessly&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Project Docs&lt;/td&gt;
&lt;td&gt;Summarize PDFs and research with NotebookLM&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔚 Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Google Gemini + Jio&lt;/strong&gt; partnership is a glimpse of India’s digital future — &lt;strong&gt;AI tools in every pocket&lt;/strong&gt;, not just for enterprises.  &lt;/p&gt;

&lt;p&gt;If you’re a &lt;strong&gt;developer, student, or tech professional&lt;/strong&gt;, this is your chance to experiment, learn, and build with top-tier AI — completely free for 18 months.  &lt;/p&gt;

&lt;p&gt;So open your MyJio app today, tap &lt;em&gt;Claim Google Gemini Plan&lt;/em&gt;, and start exploring the future of AI-powered productivity.  &lt;/p&gt;

</description>
      <category>developers</category>
      <category>webdev</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>🎃 Haunted Manor Tours - An Interactive Horror Experience</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Fri, 31 Oct 2025 13:23:32 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/haunted-manor-tours-an-interactive-horror-experience-248f</link>
      <guid>https://dev.to/meshvpatel18/haunted-manor-tours-an-interactive-horror-experience-248f</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend-2025-10-15"&gt;Frontend Challenge - Halloween Edition, Perfect Landing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I created &lt;strong&gt;Haunted Manor Tours&lt;/strong&gt; - a fully interactive Halloween landing page for a fictional premium haunted house experience. This isn't just a static page; it's an immersive journey complete with:&lt;/p&gt;

&lt;p&gt;🎮 &lt;strong&gt;Interactive Games&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Spin the Wheel of Doom for prizes&lt;/li&gt;
&lt;li&gt;Interactive Ouija Board that responds to your touch&lt;/li&gt;
&lt;li&gt;Clickable floating ghosts with surprises&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🔊 &lt;strong&gt;Dynamic Sound System&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;All sounds generated via Web Audio API (no audio files!)&lt;/li&gt;
&lt;li&gt;Thunder crashes, ghost wails, eerie ambient music&lt;/li&gt;
&lt;li&gt;UI interaction sounds (hover, click, whoosh effects)&lt;/li&gt;
&lt;li&gt;Full sound toggle control&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✨ &lt;strong&gt;Advanced Animations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Custom particle system (50 floating particles)&lt;/li&gt;
&lt;li&gt;Lightning flash effects with synchronized thunder&lt;/li&gt;
&lt;li&gt;Blood drip animations&lt;/li&gt;
&lt;li&gt;Custom cursor with smooth trailing effect&lt;/li&gt;
&lt;li&gt;Parallax scrolling ghosts&lt;/li&gt;
&lt;li&gt;3D card transformations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎯 &lt;strong&gt;Real Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live countdown timer to Halloween&lt;/li&gt;
&lt;li&gt;Three ticket tiers with selection system&lt;/li&gt;
&lt;li&gt;Contact form with validation&lt;/li&gt;
&lt;li&gt;Modal system for interactions&lt;/li&gt;
&lt;li&gt;Scroll progress indicator&lt;/li&gt;
&lt;li&gt;Full keyboard navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🎁 &lt;strong&gt;Easter Eggs&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Konami code activation (try it!)&lt;/li&gt;
&lt;li&gt;Hidden keyboard shortcuts (L for lightning, M for sound)&lt;/li&gt;
&lt;li&gt;Random ambient sound effects&lt;/li&gt;
&lt;li&gt;Secret messages from clicking elements&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://codepen.io/meshvp/full/raxZwYW" rel="noopener noreferrer"&gt;🔗 Live Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;

&lt;iframe height="600" src="https://codepen.io/meshvp/embed/raxZwYW?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;


&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Feature Tour:
&lt;/h3&gt;

&lt;p&gt;🏠 Hero Section → Immersive introduction with floating elements&lt;br&gt;
⏰ Countdown Timer → Real-time countdown to Halloween&lt;br&gt;
🔮 Ouija Board → Hover over letters to commune with spirits&lt;br&gt;
🎡 Spin the Wheel → Interactive prize wheel with physics&lt;br&gt;
🎫 Ticket Selection → Three tiers with modal confirmations&lt;br&gt;
📧 Contact Form → Functional form with sound feedback&lt;/p&gt;

&lt;p&gt;🎃 Happy Halloween, and Happy Coding!&lt;/p&gt;

&lt;p&gt;Built with ❤️ and 👻 for the Frontend Challenge: Halloween Edition&lt;/p&gt;

</description>
      <category>halloween</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>🎃 Ultimate Haunted House - Pure CSS Halloween Art</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Tue, 28 Oct 2025 11:40:47 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/ultimate-haunted-house-pure-css-halloween-art-3551</link>
      <guid>https://dev.to/meshvpatel18/ultimate-haunted-house-pure-css-halloween-art-3551</guid>
      <description>&lt;p&gt;This is a submission for Frontend Challenge - Halloween Edition, CSS Art.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎃 Ultimate Haunted House - CSS Art
&lt;/h2&gt;

&lt;p&gt;My submission for the &lt;strong&gt;Frontend Challenge: Halloween Edition&lt;/strong&gt;! A fully animated haunted scene created with pure CSS (and just a sprinkle of emojis for fun).&lt;/p&gt;

&lt;h2&gt;
  
  
  🌙 Live Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://codepen.io/meshvp/full/zxrLomB" rel="noopener noreferrer"&gt;View on CodePen&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;

&lt;iframe height="600" src="https://codepen.io/meshvp/embed/zxrLomB?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;


&lt;/p&gt;

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

&lt;p&gt;This spooky scene includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🏚️ &lt;strong&gt;Haunted House&lt;/strong&gt; with flickering windows and evil glowing attic&lt;/li&gt;
&lt;li&gt;👻 &lt;strong&gt;Floating Ghosts&lt;/strong&gt; with wavy tails&lt;/li&gt;
&lt;li&gt;🎃 &lt;strong&gt;Three Jack-o'-Lanterns&lt;/strong&gt; with glowing faces&lt;/li&gt;
&lt;li&gt;🧙‍♀️ &lt;strong&gt;Flying Witch&lt;/strong&gt; on broomstick&lt;/li&gt;
&lt;li&gt;🦇 &lt;strong&gt;Four Bats&lt;/strong&gt; flying across the moon&lt;/li&gt;
&lt;li&gt;🕷️ &lt;strong&gt;Spider &amp;amp; Web&lt;/strong&gt; in the corner&lt;/li&gt;
&lt;li&gt;🐱 &lt;strong&gt;Black Cat&lt;/strong&gt; with glowing eyes and wagging tail&lt;/li&gt;
&lt;li&gt;🦉 &lt;strong&gt;Owl&lt;/strong&gt; perched in dead tree&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything else is pure CSS shapes, gradients, and clever positioning!&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 What I Learned
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to layer multiple elements for depth&lt;/li&gt;
&lt;li&gt;Creating complex shapes with simple CSS properties&lt;/li&gt;
&lt;li&gt;Timing animations for a cohesive scene&lt;/li&gt;
&lt;li&gt;Using gradients for atmospheric effects&lt;/li&gt;
&lt;li&gt;Optimizing CSS for performance&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Happy Halloween! 🎃👻&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;What do you think? Any suggestions for improvements?&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
    </item>
    <item>
      <title>Contribution Chronicles: From Issue to Impact (Hacktoberfest)</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Tue, 28 Oct 2025 10:45:55 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/contribution-chronicles-from-issue-to-impact-hacktoberfest-4h8a</link>
      <guid>https://dev.to/meshvpatel18/contribution-chronicles-from-issue-to-impact-hacktoberfest-4h8a</guid>
      <description>&lt;p&gt;I wrapped up six PRs this Hacktoberfest across two repos, with most of my time going into the Payment-Page project. I focused on small, well‑scoped changes that add visible value: a UI refactor for a template, a product‑style features page, and a live analytics dashboard. Below are the highlights and a few lessons that helped me move fast without breaking things.&lt;/p&gt;

&lt;p&gt;TL;DR&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6 PRs across 2 repos (majority in Payment-Page)&lt;/li&gt;
&lt;li&gt;Highlights: refactored inline code for a cleaner UI, shipped a features page with comparisons, and built a real‑time analytics dashboard with KPIs&lt;/li&gt;
&lt;li&gt;Takeaways: keep PRs tight, add screenshots for UI work, and shape data for smooth charts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why these projects&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UI/template work gives immediate impact—cleaner structure, better accessibility, and easier maintenance.&lt;/li&gt;
&lt;li&gt;Payment flows benefit from clarity and feedback. A solid features page reduces confusion; a dashboard makes status and trends obvious at a glance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contribution 1 — Fashion Blog Template: Refactor inline code and improve UI&lt;br&gt;&lt;br&gt;
Repo: Maddy57770/Fashion-Blog-Template&lt;br&gt;&lt;br&gt;
PR: &lt;a href="https://github.com/Maddy57770/Fashion-Blog-Template/pull/38" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Fashion-Blog-Template/pull/38&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What changed&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moved inline CSS/JS into dedicated files and added small utility classes for spacing, type scale, and buttons.&lt;/li&gt;
&lt;li&gt;Standardized colors and spacing with CSS custom properties; improved contrast on text and interactive elements.&lt;/li&gt;
&lt;li&gt;Replaced inline onclick handlers with event listeners; tuned mobile breakpoints; added helpful ARIA attributes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before → after (snippet)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- Before --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"margin: 0 0 16px; color: #444"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;New Arrivals&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;onclick=&lt;/span&gt;&lt;span class="s"&gt;"toggleMenu()"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background:#000;color:#fff"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Menu&lt;span class="nt"&gt;&amp;lt;/button&amp;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 html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- After --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"heading-md text-ink-700"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;New Arrivals&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"btn btn-dark"&lt;/span&gt; &lt;span class="na"&gt;aria-controls=&lt;/span&gt;&lt;span class="s"&gt;"mobile-menu"&lt;/span&gt; &lt;span class="na"&gt;aria-expanded=&lt;/span&gt;&lt;span class="s"&gt;"false"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Menu&lt;span class="nt"&gt;&amp;lt;/button&amp;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 css"&gt;&lt;code&gt;&lt;span class="c"&gt;/* utilities.css */&lt;/span&gt;
&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--space-2&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--space-4&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--ink-700&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#374151&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.heading-md&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;clamp&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;1.25rem&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;2vw&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1.5rem&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="nl"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--space-4&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.text-ink-700&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--ink-700&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.btn&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.625rem&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--radius&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;cursor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;pointer&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.btn-dark&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#111&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.btn-dark&lt;/span&gt;&lt;span class="nd"&gt;:focus-visible&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;outline&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#7c3aed&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;outline-offset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&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 javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// app.js&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;menuBtn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;.btn[aria-controls="mobile-menu"]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;menu&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;mobile-menu&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;menuBtn&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;expanded&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;menuBtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;aria-expanded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;true&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;menuBtn&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setAttribute&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;aria-expanded&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;expanded&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="nx"&gt;menu&lt;/span&gt;&lt;span class="p"&gt;?.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toggle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;hidden&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;expanded&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Impact&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Codebase: fewer inline styles/handlers, clearer structure, better caching potential.&lt;/li&gt;
&lt;li&gt;UX: more consistent spacing/typography; improved focus states and keyboard handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contribution 2 — Payment-Page: Features page with interactive showcase and comparisons&lt;br&gt;&lt;br&gt;
Repo: Maddy57770/Payment-Page&lt;br&gt;&lt;br&gt;
PR: &lt;a href="https://github.com/Maddy57770/Payment-Page/pull/9" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Payment-Page/pull/9&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What shipped&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An interactive features page (filter by category, quick scanning).&lt;/li&gt;
&lt;li&gt;A comparison section that stays readable on mobile.&lt;/li&gt;
&lt;li&gt;Consistent icons, copy tone, and spacing for a cohesive look.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feature filter (vanilla JS)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// data-tab="all|security|payouts|integrations"&lt;/span&gt;
&lt;span class="c1"&gt;// data-feature="security,webhooks"&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;tabs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;[data-tab]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;cards&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;querySelectorAll&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;[data-feature]&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;tabs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tab&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;tab&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;addEventListener&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;click&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;tab&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;tab&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;tabs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;t&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;classList&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;toggle&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;is-active&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;t&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="nx"&gt;tab&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
    &lt;span class="nx"&gt;cards&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;card&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;groups&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dataset&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;feature&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;show&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;all&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;groups&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;includes&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="nx"&gt;card&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hidden&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;show&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mobile‑friendly comparison layout&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"comparison"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"row head"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Starter&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Pro&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Instant Payouts&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;—&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;✓&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;Dispute Dashboard&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;✓&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;✓&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/section&amp;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 css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.comparison&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.row&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;align-items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;center&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.row.head&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;600&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;max-width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;640px&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nc"&gt;.row&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nc"&gt;.row&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="nd"&gt;:not&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nd"&gt;:first-child&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;attr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data-col&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#6b7280&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;margin-right&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.5rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Impact&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faster decision‑making: users can compare at a glance and try interactions on the spot.&lt;/li&gt;
&lt;li&gt;Easier maintenance: componentized layout makes future plan changes simple.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Contribution 3 — Payment-Page: Analytics dashboard with real‑time charts and KPIs&lt;br&gt;&lt;br&gt;
Repo: Maddy57770/Payment-Page&lt;/p&gt;

&lt;p&gt;What shipped&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;KPI cards for core metrics (Revenue, Transactions, Conversion, Refunds).&lt;/li&gt;
&lt;li&gt;Real‑time charts (line for revenue trend, bar for methods, doughnut for success vs failure).&lt;/li&gt;
&lt;li&gt;Smooth, incremental updates with a small data generator for demo mode.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Chart update loop (Chart.js)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;Chart&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;chart.js/auto&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;el&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getElementById&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;revenueChart&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;chart&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Chart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;el&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;line&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="na"&gt;datasets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Revenue&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[],&lt;/span&gt; &lt;span class="na"&gt;borderColor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;#4f46e5&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;tension&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.3&lt;/span&gt; &lt;span class="p"&gt;}]&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;options&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;250&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;legend&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;scales&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;beginAtZero&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;ticks&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;callback&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;`$&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;addPoint&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;now&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;toLocaleTimeString&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;round&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;800&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;now&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;datasets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shift&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;datasets&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shift&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="nx"&gt;chart&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;update&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;none&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;setInterval&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;addPoint&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2000&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;KPI card markup&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"kpis"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;article&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"kpi"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;Revenue&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"value"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;$12,340&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"delta up"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;+4.2% WoW&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;article&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"kpi"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;Transactions&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"value"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;1,284&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"delta down"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;-1.1% WoW&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/section&amp;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 css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.kpis&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;grid&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="py"&gt;grid-template-columns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;repeat&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;auto-fit&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;minmax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="m"&gt;180px&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="n"&gt;fr&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt; &lt;span class="py"&gt;gap&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.kpi&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#e5e7eb&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;border-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;background&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.kpi&lt;/span&gt; &lt;span class="nc"&gt;.value&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.75rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;font-weight&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;700&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.25rem&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.delta.up&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#16a34a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.delta.down&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#dc2626&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;@media&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-reduced-motion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;reduce&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nl"&gt;animation-duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.01ms&lt;/span&gt; &lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;animation-iteration-count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nl"&gt;transition-duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.01ms&lt;/span&gt; &lt;span class="cp"&gt;!important&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Impact&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A clear, visual pulse of the system without digging into raw logs.&lt;/li&gt;
&lt;li&gt;Simple to swap the mock generator for real data since the data shape is consistent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More Payment-Page PRs (quick hits)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In addition to the major features above, I opened several smaller PRs in Payment-Page focused on polish, cleanup, and minor fixes to keep the UI consistent and the codebase tidy. These included small accessibility tweaks, copy/spacing refinements, and code organization improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Collaboration and review notes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For UI work, attaching before/after screenshots and a one‑liner “why” sped up reviews noticeably.&lt;/li&gt;
&lt;li&gt;I aligned naming, folder structure, and code style with each repo to keep diffs small and readable.&lt;/li&gt;
&lt;li&gt;I kept each PR tight: one logical change, one clear outcome.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Technical

&lt;ul&gt;
&lt;li&gt;Move inline styles and handlers out early; it pays off in maintainability and caching.&lt;/li&gt;
&lt;li&gt;Comparison layouts should prioritize mobile readability—stack rows rather than cramming columns.&lt;/li&gt;
&lt;li&gt;Real‑time charts are as much about data shape and cadence as visuals—limit the window for smooth updates.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Collaboration

&lt;ul&gt;
&lt;li&gt;Ask clarifying questions before building; it saves churn.&lt;/li&gt;
&lt;li&gt;Screenshots, short videos, and a focused PR description are review gold.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Git hygiene

&lt;ul&gt;
&lt;li&gt;Commit messages that tell a story (“what + why”), then squash once the story is clear.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Numbers at a glance&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PRs completed: 6&lt;/li&gt;
&lt;li&gt;Repos touched: 2 (majority of contributions in Payment-Page)&lt;/li&gt;
&lt;li&gt;Focus areas: refactoring, UI/UX polish, feature pages, analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What’s next&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Payment-Page

&lt;ul&gt;
&lt;li&gt;Add loading skeletons and empty states for analytics.&lt;/li&gt;
&lt;li&gt;Export CSV for selected date ranges.&lt;/li&gt;
&lt;li&gt;Lightweight alerts when error rates spike.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Fashion-Blog-Template

&lt;ul&gt;
&lt;li&gt;Introduce CSS variables for theming and dark mode.&lt;/li&gt;
&lt;li&gt;Audit focus states and color contrast against WCAG AA.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;p&gt;Selected PR links&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fashion Blog Template — Refactor inline code &amp;amp; improve UI: &lt;a href="https://github.com/Maddy57770/Fashion-Blog-Template/pull/38" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Fashion-Blog-Template/pull/38&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Payment-Page — Features page with interactive showcase and comparisons: &lt;a href="https://github.com/Maddy57770/Payment-Page/pull/9" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Payment-Page/pull/9&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;More: additional PRs are in the Payment-Page repo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks&lt;br&gt;
Appreciate the maintainers for thoughtful reviews and quick feedback. If you’re looking to contribute, both repos have approachable issues:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fashion Blog Template issues: &lt;a href="https://github.com/Maddy57770/Fashion-Blog-Template/issues" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Fashion-Blog-Template/issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Payment-Page issues: &lt;a href="https://github.com/Maddy57770/Payment-Page/issues" rel="noopener noreferrer"&gt;https://github.com/Maddy57770/Payment-Page/issues&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you have feedback or want to pair on a follow‑up issue, I’m all ears.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hacktoberfest</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Intro to GitHub Action CI/CD</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Fri, 31 Mar 2023 09:40:21 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/intro-to-github-action-cicd-1oo0</link>
      <guid>https://dev.to/meshvpatel18/intro-to-github-action-cicd-1oo0</guid>
      <description>&lt;h1&gt;
  
  
  Intro to GitHub Action CI/CD
&lt;/h1&gt;

&lt;p&gt;Continuous integration (CI) and continuous delivery (CD) are practices that aim to automate and streamline the software development process. CI/CD helps developers to build, test, and deploy code faster and more reliably.&lt;/p&gt;

&lt;p&gt;GitHub Actions is a feature of GitHub that allows you to create custom workflows for your GitHub repositories. You can use GitHub Actions to perform any task you want, such as running tests, checking code quality, generating artifacts, or deploying your application.&lt;/p&gt;

&lt;p&gt;In this blog post, we will learn how to set up a simple CI/CD pipeline with GitHub Actions for a web application hosted on Azure App Service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;p&gt;To follow along with this tutorial, you will need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A GitHub account and a repository with some code for a web application. You can use any language or framework you prefer, but we will use Node.js and Express.js as an example.&lt;/li&gt;
&lt;li&gt;An Azure account and an App Service plan with a web app created. You can use the Azure portal or the Azure CLI to create these resources.&lt;/li&gt;
&lt;li&gt;Basic knowledge of YAML syntax&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 1: Create a workflow file
&lt;/h2&gt;

&lt;p&gt;A workflow is a YAML file that defines the steps and actions that GitHub should run when certain events occur in your repository. For example, you can trigger a workflow when someone pushes code to a branch, creates a pull request, or releases a new version.&lt;/p&gt;

&lt;p&gt;To create a workflow file, go to your repository on GitHub and create a new directory called &lt;code&gt;.github/workflows&lt;/code&gt;. Inside this directory, create a new file called &lt;code&gt;ci-cd.yml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The first part of the workflow file defines the name of the workflow and the events that trigger it. For this example, we will run the workflow on every push event to the main branch:&lt;/p&gt;

&lt;p&gt;Or&lt;/p&gt;

&lt;h3&gt;
  
  
  If you do not want to make yml file by your own then just use github one..
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to your repository then click on Action Tab.&lt;/li&gt;
&lt;li&gt;Select which type of workflow you want to use.&lt;/li&gt;
&lt;li&gt;And commit it ✨ Good to Go.&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%2Fpf3rz2pvhcl3e6dd6z1a.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%2Fpf3rz2pvhcl3e6dd6z1a.png" alt="GiThub actions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ci-cd.yml&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Build and deploy Node.js app to Azure Web App&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&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;span class="na"&gt;workflow_dispatch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;windows-latest&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Set up Node.js version&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/setup-node@v1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;node-version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;16.x'&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm install, build, and test&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
          &lt;span class="s"&gt;npm install&lt;/span&gt;
          &lt;span class="s"&gt;npm run build --if-present&lt;/span&gt;
          &lt;span class="s"&gt;npm run test --if-present&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Upload artifact for deployment job&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/upload-artifact@v2&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;node-app&lt;/span&gt;
          &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;

  &lt;span class="na"&gt;deploy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;needs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;build&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Production'&lt;/span&gt;
      &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ steps.deploy-to-webapp.outputs.webapp-url }}&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Download artifact from build job&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/download-artifact@v2&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;node-app&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Deploy&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;to&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Azure&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Web&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;App'&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;azure/webapps-deploy@v2&lt;/span&gt;
        &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;deploy-to-webapp&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;app-name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Node-CRUD'&lt;/span&gt;
          &lt;span class="na"&gt;slot-name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Production'&lt;/span&gt;
          &lt;span class="na"&gt;publish-profile&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_2BDBEF10FD894BBDA4BBD91349CE4F43 }}&lt;/span&gt;
          &lt;span class="na"&gt;package&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;


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

&lt;/div&gt;



&lt;p&gt;This workflow is named "Build and deploy Node.js app to Azure Web App" and runs on every push to the main branch. It defines a single job named test that runs on an Ubuntu virtual machine. The job includes three steps:&lt;/p&gt;

&lt;p&gt;The actions/checkout action checks out our repository code on the virtual machine.&lt;br&gt;
The npm install command installs our dependencies.&lt;br&gt;
The npm test command runs our tests.&lt;br&gt;
With this workflow in place, every time we push changes to the main branch, our tests will automatically run on an Ubuntu virtual machine.&lt;/p&gt;

&lt;p&gt;Building and Deploying&lt;/p&gt;

&lt;p&gt;Next, we'll add two more workflows to our DevOps pipeline: one for building our Node.js application and another for deploying it.&lt;/p&gt;

&lt;p&gt;Here's what the YAML file for our "Build" workflow will look like:&lt;br&gt;
&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;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;windows-latest&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Install dependencies&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm install&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Build&lt;/span&gt;
        &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;npm run build&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This workflow is named "Build" and runs on every push to the main branch. It defines a single job named build that runs on an Ubuntu virtual machine. The job includes three steps:&lt;/p&gt;

&lt;p&gt;The actions/checkout action checks out our repository code on the virtual machine.&lt;br&gt;
The npm install command installs our dependencies.&lt;br&gt;
The npm run build command builds our Node.js application.&lt;br&gt;
Finally, we'll create a workflow for deploying our application. For this, we'll use the ssh-deploy action to deploy our application to a remote server.&lt;/p&gt;

&lt;p&gt;Here's what the YAML file for our "Deploy" workflow will look like:&lt;br&gt;
&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;deploy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;needs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;build&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Production'&lt;/span&gt;
      &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ steps.deploy-to-webapp.outputs.webapp-url }}&lt;/span&gt;

    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Download artifact from build job&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/download-artifact@v2&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;node-app&lt;/span&gt;

      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Deploy&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;to&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Azure&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Web&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;App'&lt;/span&gt;
        &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;azure/webapps-deploy@v2&lt;/span&gt;
        &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;deploy-to-webapp&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;app-name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Node-CRUD'&lt;/span&gt;
          &lt;span class="na"&gt;slot-name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Production'&lt;/span&gt;
          &lt;span class="na"&gt;publish-profile&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_123 }}&lt;/span&gt;
          &lt;span class="na"&gt;package&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After done with workflow just commit and see there is action will be created...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://github.com/AKSHDESAI1/Express-Crud-Api" rel="noopener noreferrer"&gt;Node JS Code&lt;/a&gt;&lt;br&gt;
After pushing code to github&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You will see this img&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%2F1ryfpl0uea19hmnkmx1i.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%2F1ryfpl0uea19hmnkmx1i.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After successfully run this job our code has been perfectly run and build...&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;In this blog post, we showed you how to automate your DevOps workflow using GitHub Actions. We created workflows for testing, building, and deploying a simple Node.js application. With GitHub Actions, you can easily automate your software delivery process and increase collaboration between teams.&lt;/p&gt;

&lt;p&gt;GitHub Actions is a powerful tool that's easy to use and highly customizable. You can create workflows for almost any task, from testing and building to deploying and monitoring. With GitHub Actions, you can streamline your DevOps pipeline and deliver high-quality software faster than ever before.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>tutorial</category>
      <category>microservices</category>
      <category>githubactions</category>
    </item>
    <item>
      <title>Cron job creation using Node JS.</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Fri, 04 Nov 2022 13:49:17 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/cron-job-creation-using-node-js-4fgo</link>
      <guid>https://dev.to/meshvpatel18/cron-job-creation-using-node-js-4fgo</guid>
      <description>&lt;p&gt;The &lt;strong&gt;Cron&lt;/strong&gt; command-line utility is a job scheduler. So Cron do our same task that we are doing in daily life such as Sending emails, Notifications and other repetitive tasks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Have you ever think that some of big tech company are doing backup on daily basis, So are they going to run script everyday?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So, the answer is &lt;strong&gt;Big No&lt;/strong&gt;. They are using cron job So that write script once, then run everyday. We can even customize it in our need.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Check Node version v16.2.0 (or more).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If not installed then &lt;a href="https://nodejs.org/en/download/"&gt;download from link&lt;/a&gt; else good to go...&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 — Creating a Node Application and Installing Dependencies
&lt;/h2&gt;

&lt;p&gt;Open terminal and run commands&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;mkdir&lt;/span&gt; &lt;span class="nx"&gt;CronJob&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;cd&lt;/span&gt; &lt;span class="nx"&gt;CronJob&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Initialize npm package.json&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;init&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install dependancy&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="nx"&gt;node&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;cron&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Step 2 — Crating task
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;So, here I want to make script to run ervery minutes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;create index.js by typing command in terminal(windows)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;type&lt;/span&gt; &lt;span class="nx"&gt;Null&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;index.js&lt;/code&gt; and add following code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;cron&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;node-cron&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;cron&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;schedule&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;* * * * *&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;running a task every minute&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;The syntax of * is base on &lt;a href="https://en.wikipedia.org/wiki/Cron"&gt;Crontab&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt; &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;┌──────────────&lt;/span&gt; &lt;span class="nx"&gt;second&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;optional&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;┌────────────&lt;/span&gt; &lt;span class="nx"&gt;minute&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;┌──────────&lt;/span&gt; &lt;span class="nx"&gt;hour&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;┌────────&lt;/span&gt; &lt;span class="nx"&gt;day&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;month&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;┌──────&lt;/span&gt; &lt;span class="nx"&gt;month&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;┌────&lt;/span&gt; &lt;span class="nx"&gt;day&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;week&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt; &lt;span class="err"&gt;│&lt;/span&gt;
 &lt;span class="err"&gt;#&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Here If we apply * for it will defaulty run every instance of time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ex.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Every&lt;/span&gt; &lt;span class="nx"&gt;seconds&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Second&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;optinal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Every&lt;/span&gt; &lt;span class="nx"&gt;minutes&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;min&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;every&lt;/span&gt; &lt;span class="nx"&gt;hours&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="nx"&gt;hours&lt;/span&gt; &lt;span class="k"&gt;of&lt;/span&gt; &lt;span class="nx"&gt;every&lt;/span&gt; &lt;span class="nx"&gt;day&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;  &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Every&lt;/span&gt; &lt;span class="nx"&gt;Wednesday&lt;/span&gt; &lt;span class="mi"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;00&lt;/span&gt; &lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;span class="o"&gt;-&lt;/span&gt;   &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;   &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;Every&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;Feb&lt;/span&gt; &lt;span class="nx"&gt;day&lt;/span&gt; &lt;span class="nx"&gt;run&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Run Script
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="nx"&gt;node&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;js&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After Every minutes, you will see results like:-&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;running&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;task&lt;/span&gt; &lt;span class="nx"&gt;every&lt;/span&gt; &lt;span class="nx"&gt;minute&lt;/span&gt;
&lt;span class="nx"&gt;running&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;task&lt;/span&gt; &lt;span class="nx"&gt;every&lt;/span&gt; &lt;span class="nx"&gt;minute&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;cron&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;schedule&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;0 0 18 2 *&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;---------------------&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Running Cron Job on 18 Feb&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="c1"&gt;// send people on their birthday.&lt;/span&gt;
  &lt;span class="nx"&gt;sendEmail&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;myEmail@gmail.com&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Happy birthday&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here, cron job run every 18-Feb day in every year. Once code run then send automatically send email to people on their birthday.&lt;/p&gt;




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

&lt;p&gt;In this blog, we have discussed about Cron Job creation using Node JS and use in real-life and schedule your repetitive task and save your time...&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Top Heroku Alternatives for free</title>
      <dc:creator>Meshv Patel</dc:creator>
      <pubDate>Wed, 31 Aug 2022 13:49:56 +0000</pubDate>
      <link>https://dev.to/meshvpatel18/top-heroku-alternatives-for-free-46g1</link>
      <guid>https://dev.to/meshvpatel18/top-heroku-alternatives-for-free-46g1</guid>
      <description>&lt;h3&gt;
  
  
  Recently Heroku will shutdown free Heroku Dynos, free Heroku Postgres, and free Heroku Data for Redis after November 28th, 2022.
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;So, after some research on some of free alternatives provider I have gone through them all and see if it is free then I have included in my list that I am providing you 😎⭐😀.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  1.&lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt; - Host serverless apps
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.netlify.com/" rel="noopener noreferrer"&gt;Netlify&lt;/a&gt; - link&lt;/p&gt;

&lt;p&gt;You can try this one if you use serverless backend as you can make api with it.&lt;/p&gt;

&lt;p&gt;For Reference:-&lt;br&gt;
&lt;a href="https://blog.bitsrc.io/using-netlify-for-fullstack-apps-9d6a07968523" rel="noopener noreferrer"&gt;fullstack on netlify&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2.&lt;a href="https://workers.cloudflare.com/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt; - Best for Static Site.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://workers.cloudflare.com/" rel="noopener noreferrer"&gt;Cloudflare&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pair &lt;a href="http://pages.cloudflare.com" rel="noopener noreferrer"&gt;http://pages.cloudflare.com&lt;/a&gt; (unlimited hosting 100% free, no underlying conditions), with &lt;a href="http://workers.cloudflare.com" rel="noopener noreferrer"&gt;http://workers.cloudflare.com&lt;/a&gt; (very generous free plan for serverless functions), and all the other cool stuff (R2, Durable Objects, KV, etc.), and it's a powerhouse!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.cloudflare.com/cloudflare-pages-goes-full-stack/" rel="noopener noreferrer"&gt;Cloudflare references blog&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3.&lt;a href="https://app.cyclic.sh/#/join/maanp" rel="noopener noreferrer"&gt;Cyclic&lt;/a&gt; - Deploy full stack Node JS apps in seconds.
&lt;/h2&gt;

&lt;p&gt;If you are &lt;strong&gt;MERN Stack&lt;/strong&gt; developer then this is best for you.&lt;/p&gt;

&lt;p&gt;It provides many things such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;For Frontend&lt;/strong&gt;:- React, Next, Vue, Svelte.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;For Backend&lt;/strong&gt;:- Express, Node JS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DataBase&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Even Bots&lt;/strong&gt; :- Slack Bot.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you sign up using my link you will get $10 free credit.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  4.&lt;a href="https://www.deta.sh" rel="noopener noreferrer"&gt;Deta&lt;/a&gt; – The Cloud for Developers
&lt;/h2&gt;

&lt;p&gt;Get your Python &amp;amp; Node.js apps / APIs on the internet in seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Deta is free for ever.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  5. &lt;a href="https://firebase.google.com/docs/hosting" rel="noopener noreferrer"&gt;Firebase&lt;/a&gt; - Fast and secure web hosting
&lt;/h3&gt;

&lt;p&gt;Firebase Hosting provides fast and secure hosting for your web app, static and dynamic content, and microservices.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. &lt;a href="https://railway.app?referralCode=DVIF5D" rel="noopener noreferrer"&gt;Railway&lt;/a&gt; - Made for any language.
&lt;/h2&gt;

&lt;p&gt;It also provide many language supports such Node Js, Django, Laravel, Kotlin spring, ruby and more....&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;According to me, you must try this. This is perfect for us as it will provide predefined template for all languages.&lt;/p&gt;

&lt;p&gt;If you sign up using my link you will get $10 free credit.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  7. &lt;a href="https://render.com/" rel="noopener noreferrer"&gt;Render&lt;/a&gt; - The fastest
&lt;/h2&gt;

&lt;p&gt;way to host all your web apps.&lt;/p&gt;

&lt;p&gt;It provides also&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DataBase&lt;/strong&gt;:-Redis, Postgres. &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%2Fklmtw8fmod53uontt1h6.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%2Fklmtw8fmod53uontt1h6.png" alt="Here is the list of features"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  8.&lt;a href="https://devtron.ai/" rel="noopener noreferrer"&gt;Devtron&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Open source Software delivery workflow for kubernetes.&lt;/p&gt;




&lt;h2&gt;
  
  
  9.&lt;a href="https://fly.io/" rel="noopener noreferrer"&gt;Fly&lt;/a&gt; - Run your full stack apps all over the world.
&lt;/h2&gt;

&lt;p&gt;Every app will works on this.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Build with your favorite framework, ship on Fly.io. If you can build it into a Dockerfile, we can run it.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  10.&lt;a href="https://www.fathym.com/" rel="noopener noreferrer"&gt;Fathym&lt;/a&gt; - Develop and deploy micro frontends in a headless, open world.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I would highly recommend this if you want to build &lt;strong&gt;&lt;a href="https://dev.to/prasann/scaling-applications-using-micro-frontends-4kgn"&gt;Micro Frontend App&lt;/a&gt;&lt;/strong&gt; then must try at once.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  11. &lt;a href="https://www.back4app.com/" rel="noopener noreferrer"&gt;Back4app&lt;/a&gt; - Low-code backend to build modern apps
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;From databases to blockchain storage, we’ve got your backend covered&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  12.&lt;a href="https://domcloud.co/" rel="noopener noreferrer"&gt;Dom Cloud&lt;/a&gt; - Classic Web Hosting Made Easy
&lt;/h2&gt;

&lt;p&gt;A hosting service that serves all. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is experimental as I have not tried before. Let me know if you are going to use.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  13.&lt;a href="https://adaptable.io/" rel="noopener noreferrer"&gt;Adaptable&lt;/a&gt; - The easiest way to deploy your FullStack App
&lt;/h2&gt;

&lt;p&gt;Just connect your GitHub repository and let Adaptable handle the rest.&lt;/p&gt;




&lt;h2&gt;
  
  
  14.&lt;a href="https://microtica.com/" rel="noopener noreferrer"&gt;Microtica&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Production-ready infrastructure and application templates to build solutions on AWS without ever opening the console.&lt;/p&gt;




&lt;h2&gt;
  
  
  15.&lt;a href="https://www.withcoherence.com/" rel="noopener noreferrer"&gt;Coherence&lt;/a&gt; - The First Developer Experience Platform
&lt;/h2&gt;

&lt;p&gt;Get dev environments, full-stack branch previews, and deployments in one cohesive development experience — running in your cloud.&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://portal.azure.com" rel="noopener noreferrer"&gt;Microsoft Azure&lt;/a&gt; - Microsoft Azure portal&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are college student, then you will access Microsoft Azure Services.&lt;br&gt;
So,you can host your backend app such as Node JS, Django, PHP.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;These are my list that, up till now, I have found and share with you so that you can use it for free and make you website live ⭐.&lt;/p&gt;

&lt;h4&gt;
  
  
  So, which one you are going to try?
&lt;/h4&gt;

&lt;p&gt;Let me know in comment section. Moreover, If anything left in my list, please share it in comment as well 👍.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌎 Let's Connect
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://twitter.com/MeshvPatel18" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/meshv-p" rel="noopener noreferrer"&gt;Github&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.linkedin.com/in/meshv-patel-35a3671b9" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt;&lt;/p&gt;

</description>
      <category>heroku</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
