<?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: Atta Elahi</title>
    <description>The latest articles on DEV Community by Atta Elahi (@attaelahi).</description>
    <link>https://dev.to/attaelahi</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%2F1388224%2F8beba976-bb6a-4e8c-82a7-e6d0af02a3b2.jpeg</url>
      <title>DEV Community: Atta Elahi</title>
      <link>https://dev.to/attaelahi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/attaelahi"/>
    <language>en</language>
    <item>
      <title>Building a Modern POS System That Doesn't Feel Like It's From 2005</title>
      <dc:creator>Atta Elahi</dc:creator>
      <pubDate>Wed, 31 Dec 2025 06:59:50 +0000</pubDate>
      <link>https://dev.to/attaelahi/building-a-modern-pos-system-that-doesnt-feel-like-its-from-2005-4kc7</link>
      <guid>https://dev.to/attaelahi/building-a-modern-pos-system-that-doesnt-feel-like-its-from-2005-4kc7</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;The Problem That Kept Me Up at Night&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I'll be honest with you I got tired of watching shop owners struggle with clunky, outdated POS systems that looked like they were designed when flip phones were cool. You know the type: ugly interfaces, page reloads for every single action, and God forbid your internet drops for a second.&lt;br&gt;
The breaking point? Watching my uncle's electronics shop lose a sale because his POS system took 30 seconds just to add an item to the cart. In 2024. That's when I decided to build something better.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What I Built (And Why It Actually Matters)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I call it &lt;strong&gt;NextGen Shop&lt;/strong&gt; a hybrid architecture POS that feels more like using a modern web app than wrestling with ancient retail software. But here's the thing: it's not "modern" just for the sake of being trendy. Every decision I made was driven by real problems I saw in the field.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Tech Stack (Yes, It Actually Matters)&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;I went with a Laravel 12 backend paired with a React + Vite frontend. I know what you're thinking – "another React app, how original" – but hear me out.&lt;br&gt;
The decoupled architecture means the frontend is blazing fast. We're talking instant UI updates, smooth animations with Framer Motion, and zero page reloads. Meanwhile, Laravel handles all the heavy lifting on the backend with Sanctum keeping everything secure.&lt;br&gt;
&lt;strong&gt;Tech highlights:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Frontend: React + Vite, Tailwind CSS, Material UI&lt;/li&gt;
&lt;li&gt;Backend: Laravel 12 with Sanctum authentication&lt;/li&gt;
&lt;li&gt;Database: MySQL for relational data&lt;/li&gt;
&lt;li&gt;Bonus tools: recharts for analytics, dompdf/jspdf for invoices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result? A POS that feels like you're using a native app, not a website from the Windows XP era.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Features That Actually Solve Real Problems&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. The POS Console That Doesn't Make You Wait
&lt;/h2&gt;

&lt;p&gt;The checkout interface is where everything happens, so I obsessed over making it fast. Product grid with images? Check. Barcode scanner support? Obviously. But here's what most POS systems get wrong: real-time cart updates.&lt;br&gt;
Every time you add an item, the totals, taxes, and subtotals calculate instantly. No loading spinners. No "please wait" messages. Just smooth, immediate feedback. Because when there's a line of customers, every second counts.&lt;br&gt;
You can handle walk-in customers, registered ones, or just process a "Guest" sale. Multiple payment methods (Cash, Card, Bank Transfer) and even a "Dues" option for credit sales – which brings me to my favorite feature.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. The "Khata" System (Credit Management Done Right)
&lt;/h2&gt;

&lt;p&gt;This is where most Western POS systems completely miss the mark. In many markets, especially in South Asia and the Middle East, selling on credit ("udhaar" or "khata") isn't just common – it's essential for business.&lt;br&gt;
I built a complete dues management system where you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Track exactly how much each customer owes&lt;/li&gt;
&lt;li&gt;Accept partial payments against outstanding balances&lt;/li&gt;
&lt;li&gt;View a customer's full ledger (like a mini accounting system)&lt;/li&gt;
&lt;li&gt;Get alerts when credit limits are reached
Traditional POS systems either don't have this feature at all, or they hack it together in the most awkward way possible. I made it native because, well, real businesses need it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3. Inventory That Actually Adapts
&lt;/h2&gt;

&lt;p&gt;Here's something that annoyed me about existing solutions: they assume every shop sells the same type of stuff. A grocery store needs to track items by weight. A clothing store needs sizes and colors. A phone shop needs IMEI numbers.&lt;br&gt;
So I built custom product fields. You can define whatever attributes make sense for your business. Track stock levels, set low-stock alerts, manage units (kg, pcs, liters, dozen), and generate barcodes on the fly.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. The Analytics That Tell You What's Actually Happening
&lt;/h2&gt;

&lt;p&gt;Pretty charts are cool, but useless charts are just useless. I focused on metrics that actually help you run a business:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sales trends over time (daily, weekly, monthly)&lt;/li&gt;
&lt;li&gt;Top-selling products&lt;/li&gt;
&lt;li&gt;Real profit margins (because revenue without profit is just vanity)&lt;/li&gt;
&lt;li&gt;Cost vs. sale price tracking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything's exportable to PDF or Excel for end-of-day reconciliation. And the dashboards update in real-time – no more hitting refresh like it's 2010.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Role-Based Access (Because Trust, But Verify)
&lt;/h2&gt;

&lt;p&gt;Not everyone in your shop needs access to everything. Your cashier doesn't need to see profit reports. Your manager shouldn't be able to delete sales records.&lt;br&gt;
I implemented proper RBAC (Role-Based Access Control) where you can create custom roles with granular permissions. Track who sold what and when through activity logs. It's not about being paranoid – it's about being smart.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Technical Decisions That Made a Difference
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Why Hybrid Architecture?&lt;/strong&gt;&lt;br&gt;
Going with a decoupled frontend/backend wasn't just about following trends. It means:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Future-proofing: Want to add a mobile app later? You can reuse the entire backend.&lt;/li&gt;
&lt;li&gt;Offline capability: (Roadmap feature) The React frontend can work offline and sync when the connection returns.&lt;/li&gt;
&lt;li&gt;Better UX: No more full page reloads. Ever.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Traditional monolithic POS systems feel like you're using the same software from a decade ago because, well, you literally are. They're hard to upgrade, harder to scale, and impossible to make feel modern.&lt;/p&gt;

&lt;p&gt;The Challenges I Actually Faced&lt;br&gt;
Let me be real with you – building this wasn't all smooth sailing.&lt;br&gt;
Thermal printer integration was a nightmare. These things don't follow web standards (shocking, I know). I had to create dedicated printing layouts that work with the tiny receipt format without looking like garbage.&lt;br&gt;
Real-time updates across multiple sessions was tricky. When one cashier makes a sale, the inventory needs to update for everyone else immediately. I ended up using Laravel's broadcasting features with some custom optimizations.&lt;br&gt;
The dues calculation logic got complex fast. Partial payments, returns against credit sales, interest calculations (optional) – it's basically a mini accounting system within the POS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Roadmap (What's Next)&lt;/strong&gt;&lt;br&gt;
I'm working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Offline-first mode: Full functionality even without internet, with smart syncing&lt;/li&gt;
&lt;li&gt;Mobile companion app: For on-the-go inventory checks and sales monitoring&lt;/li&gt;
&lt;li&gt;Multi-store management: For businesses with multiple locations&lt;/li&gt;
&lt;li&gt;Advanced supplier management: Purchase orders that integrate with popular accounting software.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why I'm Sharing This
&lt;/h2&gt;

&lt;p&gt;I built this because I was frustrated with the state of retail software. Too many businesses are held back by tools that feel like they're actively working against them.&lt;br&gt;
If you're working on something similar, or thinking about it, here's my advice: talk to actual shop owners. Don't build features you think are cool – build features that solve real, annoying problems. The fancy animations are great, but they mean nothing if the core workflow isn't fast and intuitive.&lt;br&gt;
And yeah, credit management might not be sexy, but in many markets, it's the difference between a useful POS and expensive shelf decoration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want to Discuss?&lt;/strong&gt;&lt;br&gt;
I'm always happy to talk about the technical details, architecture decisions, or just commiserate about the joys of thermal printer drivers. Drop a comment below or connect with me here on dev.to.&lt;br&gt;
Building this has been one of the most challenging and rewarding projects I've worked on. If you're building something similar or have questions about any of the tech decisions, let's chat!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cloudnative</category>
      <category>productivity</category>
      <category>react</category>
    </item>
    <item>
      <title>Building ClassesLog: A Web App That Bridges the Gap Between Schools, Teachers and Parents</title>
      <dc:creator>Atta Elahi</dc:creator>
      <pubDate>Mon, 05 May 2025 04:20:32 +0000</pubDate>
      <link>https://dev.to/attaelahi/building-classeslog-a-web-app-that-bridges-the-gap-between-schools-teachers-and-parents-34fk</link>
      <guid>https://dev.to/attaelahi/building-classeslog-a-web-app-that-bridges-the-gap-between-schools-teachers-and-parents-34fk</guid>
      <description>&lt;p&gt;Hey DEV community! 👋&lt;br&gt;
I'm excited to share a project I've been working on that aims to solve a real problem in educational institutions: the communication gap between schools, teachers, and parents. As someone who has witnessed the challenges of educational communication firsthand, I decided to build a solution that creates a seamless connection between all stakeholders.&lt;br&gt;
Enter ClassesLog – a comprehensive web application with three distinct panels that streamline information flow in educational environments.&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%2F7jgb714ztmr7w1ncz7xg.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%2F7jgb714ztmr7w1ncz7xg.png" alt="Image description" width="800" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&lt;br&gt;
Communication in educational institutions has traditionally been fragmented:&lt;/p&gt;

&lt;p&gt;Schools struggle to effectively disseminate information to teachers and parents&lt;br&gt;
Teachers juggle multiple systems for attendance, grades, and parent communication&lt;br&gt;
Parents lack real-time visibility into their child's academic progress and activities&lt;/p&gt;

&lt;p&gt;These disconnects often result in information silos, delayed updates, and missed opportunities for timely intervention in a student's educational journey.&lt;br&gt;
The Solution: ClassesLog.com&lt;br&gt;
ClassesLog is built around a simple concept: create dedicated interfaces for each stakeholder that connect to a unified database. Here's how the three panels work:&lt;br&gt;
&lt;strong&gt;1. Administration Panel&lt;/strong&gt;&lt;br&gt;
School administrators can:&lt;/p&gt;

&lt;p&gt;Create and manage classes and sections&lt;br&gt;
Add teachers and assign them to specific classes&lt;br&gt;
Monitor student performance across the institution&lt;br&gt;
Post school-wide announcements&lt;br&gt;
Review and respond to parent feedback&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Teacher Panel&lt;/strong&gt;&lt;br&gt;
Teachers can:&lt;/p&gt;

&lt;p&gt;Add students (and generate parent login credentials)&lt;br&gt;
Record attendance, results (mid-term, final-term, monthly tests)&lt;br&gt;
Track student activities (behavior, cleanliness, etc.)&lt;br&gt;
Assign homework with clear instructions&lt;br&gt;
View announcements from administration&lt;br&gt;
Respond to parent feedback&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Student/Parent Panel&lt;/strong&gt;&lt;br&gt;
Parents can:&lt;/p&gt;

&lt;p&gt;Monitor their child's attendance&lt;br&gt;
View academic results with teacher feedback&lt;br&gt;
Track class activities and behavior assessments&lt;br&gt;
Access homework assignments&lt;br&gt;
Read school announcements&lt;br&gt;
Provide feedback directly to teachers or administration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Technical Challenges &amp;amp; Solutions&lt;/strong&gt;&lt;br&gt;
Challenge 1: Role-Based Access Control&lt;br&gt;
I needed to ensure that each user type (admin, teacher, parent) could only access appropriate information. I implemented a comprehensive role-based access control system that:&lt;/p&gt;

&lt;p&gt;Restricts teachers to only view/manage their assigned classes&lt;br&gt;
Limits parents to only accessing their own child's information&lt;br&gt;
Provides administrators with customizable oversight capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 2: Real-Time Data Flow&lt;/strong&gt;&lt;br&gt;
To ensure all stakeholders have the most current information, I implemented.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Challenge 3: Secure User Creation&lt;/strong&gt;&lt;br&gt;
A unique feature of ClassesLog is the credential cascade:&lt;/p&gt;

&lt;p&gt;Admins create teacher accounts with secure credentials&lt;br&gt;
Teachers create student/parent accounts with secure credentials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development Journey&lt;/strong&gt;&lt;br&gt;
The development process wasn't without challenges. Here are some key lessons I learned:&lt;/p&gt;

&lt;p&gt;User research is crucial - I initially underestimated the different workflows teachers used for tracking student activities. After several interviews, I completely redesigned that feature.&lt;br&gt;
Start with core functionality - I initially wanted to include additional features like a messaging system and file repository, but decided to focus on the core communication needs first.&lt;br&gt;
UI/UX matters significantly - Since the app would be used by people with varying levels of technical proficiency, I spent extra time ensuring the interfaces were intuitive and accessible.&lt;br&gt;
Testing with real users provides invaluable feedback - Having actual teachers and parents test the system revealed workflow improvements I wouldn't have discovered otherwise.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Future Plans&lt;/strong&gt;&lt;br&gt;
While ClassesLog is fully functional now, I have several enhancements planned:&lt;/p&gt;

&lt;p&gt;Mobile application for more convenient access&lt;br&gt;
Integration with popular LMS platforms&lt;br&gt;
Advanced analytics for administrators&lt;br&gt;
AI-powered insights for identifying students who may need additional support&lt;br&gt;
Calendar integration for homework and examination schedules&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Building ClassesLog has been a rewarding journey that combined my passion for education and software development. The most satisfying part has been seeing how it simplifies workflows for teachers and provides parents with valuable insights into their children's education.&lt;br&gt;
I'd love to hear your thoughts, suggestions, or questions about ClassesLog! Have you worked on education-related software? What challenges did you face?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Becoming a Figma Pro: Mastering the Leading Design Tool</title>
      <dc:creator>Atta Elahi</dc:creator>
      <pubDate>Fri, 03 May 2024 11:38:39 +0000</pubDate>
      <link>https://dev.to/attaelahi/becoming-a-figma-pro-mastering-the-leading-design-tool-514l</link>
      <guid>https://dev.to/attaelahi/becoming-a-figma-pro-mastering-the-leading-design-tool-514l</guid>
      <description>&lt;p&gt;Whether you're a seasoned designer or just starting out, gaining proficiency in Figma can be a game-changer for your career. This powerful design tool has become the industry standard, loved by professionals for its intuitive interface, real-time collaboration capabilities, and seamless integration with other tools. Here's how to level up your Figma skills and stand out as a true pro.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Master the Fundamentals&lt;/strong&gt;&lt;br&gt;
Before diving into advanced features, ensure you have a solid grasp of Figma's core functions. Familiarize yourself with the interface, tools, and shortcuts. Understand the basics of creating objects, working with layers, applying styles, and using components. The better you know the fundamentals, the more efficient you'll be.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Explore Advanced Features&lt;/strong&gt;&lt;br&gt;
Figma is a robust tool with numerous advanced features that can streamline your workflow and enhance your designs. Leverage features like Auto Layout, Constraints, and Variants to create responsive and adaptive designs. Dive into Prototyping to bring your designs to life and test user interactions. Additionally, learn how to create and manage Design Systems, ensuring consistency across your projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaborate and Communicate&lt;/strong&gt;&lt;br&gt;
One of Figma's biggest strengths is its real-time collaboration capabilities. Practice working with team members, clients, and stakeholders within Figma. Learn how to effectively use comments, annotations, and presentation views to communicate your design decisions and gather feedback. Mastering collaboration will make you a valuable asset to any design team.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stay Up-to-Date with New Features&lt;/strong&gt;&lt;br&gt;
Figma is constantly evolving, with new features and improvements being rolled out regularly. Follow Figma's official channels (blog, social media, etc.) to stay informed about updates and take advantage of new capabilities as soon as they're released. Attend webinars, watch tutorials, and engage with the Figma community to expand your knowledge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build a Portfolio&lt;/strong&gt;&lt;br&gt;
As you gain experience, start building a portfolio showcasing your best work in Figma. Include case studies that demonstrate your problem-solving skills, design process, and the impact of your solutions. A well-curated portfolio can open doors to new opportunities and help you stand out in the job market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Participate in the Community&lt;/strong&gt;&lt;br&gt;
Engage with the vibrant Figma community by joining online forums, attending meetups, and participating in design challenges or hackathons. Sharing your work, providing feedback, and learning from others will deepen your understanding of Figma and expose you to different design approaches and techniques.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Seek Mentorship and Feedback&lt;/strong&gt;&lt;br&gt;
Don't hesitate to seek guidance from experienced Figma users or design mentors. Their insights and feedback can be invaluable in identifying areas for improvement and accelerating your learning curve. Additionally, offer to provide feedback to others – constructive critique can help you develop a sharper eye for design.&lt;/p&gt;

&lt;p&gt;Becoming a Figma pro takes time, dedication, and a commitment to continuous learning. But by following these tips, you'll be well on your way to mastering this powerful tool and standing out as a skilled and adaptable designer in today's fast-paced digital landscape.&lt;/p&gt;

</description>
      <category>figma</category>
      <category>design</category>
      <category>designpatterns</category>
      <category>prolog</category>
    </item>
    <item>
      <title>Essential Skills for Fresh Software Engineering Graduates</title>
      <dc:creator>Atta Elahi</dc:creator>
      <pubDate>Fri, 03 May 2024 11:27:14 +0000</pubDate>
      <link>https://dev.to/attaelahi/essential-skills-for-fresh-software-engineering-graduates-32a</link>
      <guid>https://dev.to/attaelahi/essential-skills-for-fresh-software-engineering-graduates-32a</guid>
      <description>&lt;p&gt;As a fresh graduate seeking to embark on a career in software engineering, it's crucial to equip yourself with a solid foundation in various programming concepts and data structures. Prospective employers often assess candidates' knowledge and understanding of these fundamentals to ensure they have the necessary skills to thrive in the field.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Structures:&lt;/strong&gt;&lt;br&gt;
Mastering data structures is vital for efficient data organization and manipulation. Familiarity with structures like stacks, linked lists, hash tables, binary search trees, and arrays is essential. Understanding their strengths, weaknesses, and appropriate use cases will enable you to write optimized code and tackle complex problems effectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Algorithms:&lt;/strong&gt;&lt;br&gt;
Algorithms are the backbone of problem-solving in computer science. Sorting algorithms like Quick Sort and Merge Sort, searching algorithms like Binary Search, and graph traversal algorithms like Breadth-First Search and Depth-First Search are commonly used in various applications. Understanding their time and space complexities will help you analyze and improve the performance of your programs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Object-Oriented Programming (OOP) Concepts:&lt;/strong&gt;&lt;br&gt;
OOP is a widely adopted programming paradigm that promotes code reusability, modularity, and maintainability. Mastering concepts like encapsulation, inheritance, polymorphism, constructors, and the use of keywords like "this" and "super" is crucial for writing robust and scalable object-oriented code.&lt;br&gt;
Programming Fundamentals:&lt;br&gt;
Beyond the core concepts, understanding time complexity (e.g., O(1), O(log n), O(n)) is essential for evaluating the efficiency of algorithms and optimizing code. Basics of loops, pointers, palindrome checking, and string manipulation are also fundamental programming skills that you should have a strong grasp of.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Additional Skills:&lt;/strong&gt;&lt;br&gt;
SQL (Structured Query Language) is a standard language for managing and manipulating relational databases. Having a basic understanding of SQL will be beneficial for working with database systems, which are integral components of many software applications.&lt;/p&gt;

&lt;p&gt;In conclusion, as a fresh software engineering graduate, possessing a solid foundation in data structures, algorithms, OOP concepts, programming fundamentals, and database basics will not only increase your chances of getting hired but also prepare you for long-term success in the field. Continuously practicing and honing these skills will enable you to tackle complex challenges and stay up-to-date with the ever-evolving software engineering landscape.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>softwareengineering</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
