<?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: Michael Angelo Rivera Vargas</title>
    <description>The latest articles on DEV Community by Michael Angelo Rivera Vargas (@goodbyesniper).</description>
    <link>https://dev.to/goodbyesniper</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%2F2825066%2F20a8a4cc-4ec3-464a-ab22-efd18eb1fda4.jpg</url>
      <title>DEV Community: Michael Angelo Rivera Vargas</title>
      <link>https://dev.to/goodbyesniper</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/goodbyesniper"/>
    <language>en</language>
    <item>
      <title>From Codecademy to Programming: My First Python Flet App For Managing Shopping List</title>
      <dc:creator>Michael Angelo Rivera Vargas</dc:creator>
      <pubDate>Thu, 08 May 2025 15:13:30 +0000</pubDate>
      <link>https://dev.to/goodbyesniper/from-codecademy-to-programming-my-first-python-flet-app-for-managing-shopping-list-2b1e</link>
      <guid>https://dev.to/goodbyesniper/from-codecademy-to-programming-my-first-python-flet-app-for-managing-shopping-list-2b1e</guid>
      <description>&lt;p&gt;As part of my final project for the "Fundamentals of Programming" in Codecademy Computer Science course, I wanted to build something practical that could also help me reinforce my understanding of programming fundamentals. With that in mind, I created a simple but fully functional shopping list app using &lt;a href="https://flet.dev" rel="noopener noreferrer"&gt;Flet&lt;/a&gt;—a Python framework for building beautiful UIs without needing to dive into web development. This app allows users to add products, assign prices, apply sales tax (IVU), and view both subtotals and totals dynamically.  &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%2Fjg7ycoiwc8n203k991uv.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%2Fjg7ycoiwc8n203k991uv.png" alt=" " width="800" height="1781"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 How My App Works
&lt;/h2&gt;

&lt;p&gt;The app features a user-friendly interface where you can enter a product name and price, then click the "Añadir" button to add the item to a shopping list. Each item appears in a scrollable list with a delete icon. Clicking the delete icon prompts a confirmation dialog before removing the item and automatically updating the subtotal and total.&lt;/p&gt;

&lt;p&gt;Here's what the app does under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses &lt;code&gt;TextField&lt;/code&gt; components to collect product and price inputs.&lt;/li&gt;
&lt;li&gt;Validates the input to make sure prices are positive numbers.&lt;/li&gt;
&lt;li&gt;Displays the item list in a &lt;code&gt;ListView&lt;/code&gt;, each with a delete button.&lt;/li&gt;
&lt;li&gt;Shows a confirmation dialog before deleting an item using &lt;code&gt;AlertDialog&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Keeps track of the subtotal and calculates a final total based on a custom IVU (sales tax) percentage.&lt;/li&gt;
&lt;li&gt;Updates the total values dynamically as you interact with the app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project helped me practice key Python skills such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Conditionals&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Event-driven programming&lt;/li&gt;
&lt;li&gt;State management using &lt;code&gt;nonlocal&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;User input validation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All wrapped up in a visually clean and responsive layout thanks to Flet.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Try It or Build on It
&lt;/h2&gt;

&lt;p&gt;This was my first time building a complete app in Python, and I’m proud of how far I’ve come as a beginner. There's still a couple of things I would like to add to the app like persistent data. But for now its good enough since I want to continue with my learning of Computer Science course on Codecademy. Feel free to fork it, build on it, or use it as inspiration for your own learning.&lt;/p&gt;

&lt;p&gt;Here’s the full source code on GitHub&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://github.com/SirSlader/Python-Coding/blob/main/portfolio_project/groceries_app/src/main.py" rel="noopener noreferrer"&gt;https://github.com/SirSlader/Python-Coding/blob/main/portfolio_project/groceries_app/src/main.py&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Thanks for reading!&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
I'm still learning python and programming in general. If you wanna leave a comment or tips on how to further improve my simple app it would be much appreciated.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>flet</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
