<?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: Shivam Arora</title>
    <description>The latest articles on DEV Community by Shivam Arora (@arora99).</description>
    <link>https://dev.to/arora99</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%2F1412683%2F66b49362-2618-4864-87a2-5999bbf3c3c7.jpeg</url>
      <title>DEV Community: Shivam Arora</title>
      <link>https://dev.to/arora99</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arora99"/>
    <language>en</language>
    <item>
      <title>🌐 How I Built My Developer Portfolio Website: aroratech.tech</title>
      <dc:creator>Shivam Arora</dc:creator>
      <pubDate>Fri, 11 Apr 2025 12:34:10 +0000</pubDate>
      <link>https://dev.to/arora99/how-i-built-my-developer-portfolio-website-aroratechtech-13a3</link>
      <guid>https://dev.to/arora99/how-i-built-my-developer-portfolio-website-aroratechtech-13a3</guid>
      <description>&lt;p&gt;A portfolio is more than just a website — it’s your digital handshake. I built aroratech.tech to introduce myself to the world, showcase my skills, and make it easier for recruiters and collaborators to get to know me in one place.&lt;/p&gt;

&lt;p&gt;Here’s how I approached designing and building my developer portfolio from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Why Build a Portfolio?
&lt;/h2&gt;

&lt;p&gt;As a full-stack developer, I realized that a clean, functional, and elegant portfolio can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reflect my personality and coding style.&lt;/li&gt;
&lt;li&gt;Show my projects, blogs, and experience in a scroll.&lt;/li&gt;
&lt;li&gt;Act as a central hub for networking and job hunting.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧰 Tech Stack Used
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React.js (with functional components)&lt;/li&gt;
&lt;li&gt;Styling: CSS Modules&lt;/li&gt;
&lt;li&gt;Framework: Bootstrap&lt;/li&gt;
&lt;li&gt;Hosting: Netlify&lt;/li&gt;
&lt;li&gt;Domain: &lt;a href="//aroratech.tech"&gt;aroratech.tech&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📋 Portfolio Sections
&lt;/h2&gt;

&lt;p&gt;🏠 Home&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A brief, catchy intro with my name and what I do.&lt;/li&gt;
&lt;li&gt;Smooth scroll-down animation to rest of the page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👨‍💻 Projects&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cards showing my top projects.&lt;/li&gt;
&lt;li&gt;Each card links to GitHub or a live demo.&lt;/li&gt;
&lt;li&gt;Built with reusability in mind.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📖 Blogs&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Synced with dev.to/blog links OR manually added featured posts.&lt;/li&gt;
&lt;li&gt;If writing blogs is a passion, this is a must.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🛠 Skills&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Displayed key stacks like React, Node.js, MongoDB, etc.&lt;/li&gt;
&lt;li&gt;Icons, tags, or clean badge styles.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📞 Contact&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Email ID&lt;/li&gt;
&lt;li&gt;GitHub &amp;amp; LinkedIn&lt;/li&gt;
&lt;li&gt;Direct link to resume&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  ✨ Highlights
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Mobile Responsive: Looks clean on both mobile and desktop.&lt;/li&gt;
&lt;li&gt;Performance Optimized: Lazy loading and minimal asset sizes.&lt;/li&gt;
&lt;li&gt;Custom Domain: &lt;a href="//aroratech.tech"&gt;aroratech.tech&lt;/a&gt; makes it look more professional.&lt;/li&gt;
&lt;li&gt;Animated Transitions: Smooth user experience using subtle animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🧩 Code Snippet
&lt;/h2&gt;

&lt;p&gt;Here’s a small snippet of how I rendered each project dynamically:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const projects = [
  { title: 'VyapaarX', desc: 'Business management system using MERN stack', link: '#' },
  { title: 'Portfolio Site', desc: 'This very website!', link: 'https://aroratech.tech' }
];

projects.map((project) =&amp;gt; (
  &amp;lt;div className="project-card"&amp;gt;
    &amp;lt;h3&amp;gt;{project.title}&amp;lt;/h3&amp;gt;
    &amp;lt;p&amp;gt;{project.desc}&amp;lt;/p&amp;gt;
    &amp;lt;a href={project.link}&amp;gt;Live Demo&amp;lt;/a&amp;gt;
  &amp;lt;/div&amp;gt;
));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🎯 Learnings
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Importance of minimal, clean design.&lt;/li&gt;
&lt;li&gt;Deploying and managing a custom domain.&lt;/li&gt;
&lt;li&gt;Optimization techniques like image compression, code splitting.&lt;/li&gt;
&lt;li&gt;Google Lighthouse audit and improving SEO scores.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🔮 What’s Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add dark mode toggle.&lt;/li&gt;
&lt;li&gt;Set up a CMS for easy blog posting.&lt;/li&gt;
&lt;li&gt;Add testimonials or project case studies.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building aroratech.tech helped me see my growth over the years — from hobby projects to professional work. It's also a living project — something I keep refining and improving as I grow.&lt;/p&gt;

&lt;p&gt;Do check it out and drop your feedback on LinkedIn or GitHub. Thanks for reading!&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%2F8fc39ylvo76zg56s5686.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%2F8fc39ylvo76zg56s5686.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I Built VyapaarX: A Business Management System Using the MERN Stack with WhatsApp Billing</title>
      <dc:creator>Shivam Arora</dc:creator>
      <pubDate>Fri, 11 Apr 2025 12:20:56 +0000</pubDate>
      <link>https://dev.to/arora99/how-i-built-vyapaarx-a-business-management-system-using-the-mern-stack-with-whatsapp-billing-3jo7</link>
      <guid>https://dev.to/arora99/how-i-built-vyapaarx-a-business-management-system-using-the-mern-stack-with-whatsapp-billing-3jo7</guid>
      <description>&lt;p&gt;Managing a business, especially for small and medium-sized retailers, is more than just making sales—it's about tracking inventory, managing customers, monitoring expenses, and keeping the team informed in real-time. That’s why I built VyapaarX — a full-stack Business Management System tailored for retail businesses to operate more efficiently and data-driven.&lt;/p&gt;

&lt;p&gt;In this post, I’ll walk you through what VyapaarX does, how I built it using the MERN Stack, and how I integrated automated WhatsApp messaging for billing and customer communication.&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;Retailers often rely on traditional registers or spreadsheets for tracking their business, which limits insights and scalability. I wanted to build something that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Centralizes all business data.&lt;/li&gt;
&lt;li&gt;Provides a real-time dashboard for sales &amp;amp; expenses.&lt;/li&gt;
&lt;li&gt;Automates communication (e.g., invoice messages).&lt;/li&gt;
&lt;li&gt;Makes the system scalable, modern, and user-friendly.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;VyapaarX is built on the MERN Stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MongoDB – NoSQL database to store sales, inventory, customers, and product data.&lt;/li&gt;
&lt;li&gt;Express.js – Backend framework handling REST APIs.&lt;/li&gt;
&lt;li&gt;React.js – Frontend for the dynamic dashboard and forms.&lt;/li&gt;
&lt;li&gt;Node.js – Runtime for backend services.&lt;/li&gt;
&lt;li&gt;WhatsApp API (Twilio or Chat API) – For sending billing messages directly to customers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Key Features of VyapaarX
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Dashboard with Graphical Insights&lt;/li&gt;
&lt;li&gt;Bar and pie charts showing monthly sales, profit/loss, and expense trends.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quick metrics (Total Sales, Expenses, Inventory Value).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inventory &amp;amp; Product Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add/update/delete products with fields like SKU, price, quantity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Real-time inventory tracking.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Billing System with WhatsApp Integration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Generate invoices.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Automatically send bills or payment confirmations to customers via WhatsApp.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customer Management&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create customer profiles with contact info and transaction history.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sales &amp;amp; Expense Tracking&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Log each sale and expense with category, date, and notes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filter by date range, type, or customer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  MongoDB Schema Overview
&lt;/h2&gt;

&lt;p&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%2F4qfo7npsk37vv83fep7y.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%2F4qfo7npsk37vv83fep7y.png" alt="Image description" width="800" height="450"&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fft43evtf7qrxt4slpl66.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%2Fft43evtf7qrxt4slpl66.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;// Product Schema&lt;br&gt;
{&lt;br&gt;
  name: String,&lt;br&gt;
  category: String,&lt;br&gt;
  price: Number,&lt;br&gt;
  quantity: Number,&lt;br&gt;
  createdAt: Date&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Customer Schema&lt;br&gt;
{&lt;br&gt;
  name: String,&lt;br&gt;
  phone: String,&lt;br&gt;
  email: String,&lt;br&gt;
  totalSpent: Number&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Sale Schema&lt;br&gt;
{&lt;br&gt;
  customerId: ObjectId,&lt;br&gt;
  items: [{ productId, quantity }],&lt;br&gt;
  totalAmount: Number,&lt;br&gt;
  date: Date&lt;br&gt;
}&lt;br&gt;
`&lt;/p&gt;

&lt;h2&gt;
  
  
  WhatsApp Billing Integration
&lt;/h2&gt;

&lt;p&gt;I used an external WhatsApp API (like Twilio or Chat-API) to send billing messages. Once a sale is completed, the backend triggers a message like:&lt;/p&gt;

&lt;p&gt;"Hi [Customer Name], thanks for your purchase. Your invoice amount is ₹[total]."&lt;/p&gt;

&lt;p&gt;&lt;code&gt;const sendWhatsAppMessage = async (phone, message) =&amp;gt; {&lt;br&gt;
  await axios.post('https://api.chat-api.com/sendMessage', {&lt;br&gt;
    phone: phone,&lt;br&gt;
    body: message&lt;br&gt;
  });&lt;br&gt;
};&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges Faced
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Asynchronous data updates: Ensuring stock updates properly when sales are made.&lt;/li&gt;
&lt;li&gt;WhatsApp API limits: Managing message frequency and formatting.&lt;/li&gt;
&lt;li&gt;Security: Implemented JWT authentication and role-based access for staff/admin.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Learnings &amp;amp; Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Mastered the flow of data in a full-stack application.&lt;/li&gt;
&lt;li&gt;Understood the business requirements and translated them into tech specs.&lt;/li&gt;
&lt;li&gt;Explored 3rd-party APIs and integration handling.&lt;/li&gt;
&lt;li&gt;Learned how to write modular code and reusable components in React.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add PDF invoice generation and download.&lt;/li&gt;
&lt;li&gt;Role-specific dashboards (Admin vs Cashier).&lt;/li&gt;
&lt;li&gt;Cloud deployment and CI/CD pipelines.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;Building VyapaarX wasn’t just about coding—it was about solving a real-world problem through tech. It taught me the power of building tools that make daily operations easier for businesses, especially the underserved retail sector. I’m excited to keep improving it and maybe even open-source it someday.&lt;/p&gt;

&lt;p&gt;Want to see the demo or collaborate?&lt;br&gt;
Demo Version: &lt;a href="https://aroratech.tech/" rel="noopener noreferrer"&gt;VyapaarX&lt;/a&gt;&lt;br&gt;
LinkedIn: &lt;a href="https://www.linkedin.com/in/therealshivamarora/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;br&gt;
GitHub: &lt;a href="https://github.com/realshivamarora" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
