Python: Personal Expense Management App
This project was developed in December 2025 as the final assignment of the Digital Literacy in Python Course at the Federal University of Santa Catarina (UFSC). The goal was to create a simple and functional application for personal expense management, applying fundamental concepts of Python programming.
Description
The application allows users to record, categorize, and analyze their personal expenses in a practical way. In addition, the system generates reports and statistics that help visualize spending and support financial decision-making.
Concepts covered
During development, several concepts learned throughout the course were applied:
- Data structures: use of lists and dictionaries to store information;
- Functions: modularization of code to facilitate maintenance and reuse;
- Date handling (datetime): recording and filtering expenses by period;
- Data analysis: calculating totals and identifying spending patterns;
- Simple text-based charts: visual representation of results directly in the terminal.
Main features
- Add expenses with date, category, amount, and description;
- Categorize expenses (groceries, transportation, entertainment, etc.);
- List expenses by specific period;
- Calculate total spending by category;
- Generate monthly reports;
- Identify the category with the highest expense;
- Export data to CSV, enabling integration with other tools.
Get Dalvolinda Silva’s stories in your inbox
Join Medium for free to get updates from this writer.
Example of data structure
expenses = [
{‘date’: ‘2025–12–07’, ‘category’: ‘health’, ‘amount’: 120.00, ‘description’: ‘pharmacy purchase’},
{‘date’: ‘2025–12–07’, ‘category’: ‘transportation’, ‘amount’: 25.50, ‘description’: ‘bus ticket’}
]
Main menu options
The application features a clean and intuitive command-line interface (CLI) designed to guide users through all available expense management functions. The menu presents numbered options that allow users to interact with the system efficiently, even without prior technical experience.
This menu-driven structure ensures that users can easily navigate the application and access its core features without needing a graphical interface. It reflects the project’s focus on functionality, clarity, and accessibility, especially for users learning Python and digital literacy concepts.
Exported expenses example
Impact
This project consolidated my learning in Python, demonstrating my ability to apply programming concepts to solve real-world problems. The application provides a solid foundation that can be expanded in the future with graphical interfaces, database integration, or more advanced visualizations.
Source Code
The source code for this project is available on GitHub. You can explore the implementation, review the structure, and test the application by visiting this link.








