{"id":18706484,"url":"https://github.com/mateusz-przybyla/personalbudget_objectoriented","last_synced_at":"2025-11-09T07:30:36.127Z","repository":{"id":219834797,"uuid":"749921392","full_name":"mateusz-przybyla/PersonalBudget_ObjectOriented","owner":"mateusz-przybyla","description":"Final C++ application to manage your personal budget [OOP]","archived":false,"fork":false,"pushed_at":"2024-03-09T10:48:57.000Z","size":201,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T07:16:02.606Z","etag":null,"topics":["cpp","data-structures","oop","xml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mateusz-przybyla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-29T16:56:00.000Z","updated_at":"2024-08-05T20:37:15.000Z","dependencies_parsed_at":"2024-03-09T11:46:10.664Z","dependency_job_id":null,"html_url":"https://github.com/mateusz-przybyla/PersonalBudget_ObjectOriented","commit_stats":null,"previous_names":["mateusz-przybyla/personalbudget_objectoriented"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusz-przybyla%2FPersonalBudget_ObjectOriented","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusz-przybyla%2FPersonalBudget_ObjectOriented/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusz-przybyla%2FPersonalBudget_ObjectOriented/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mateusz-przybyla%2FPersonalBudget_ObjectOriented/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mateusz-przybyla","download_url":"https://codeload.github.com/mateusz-przybyla/PersonalBudget_ObjectOriented/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239571542,"owners_count":19661164,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","data-structures","oop","xml"],"created_at":"2024-11-07T12:14:19.483Z","updated_at":"2025-02-18T23:43:06.860Z","avatar_url":"https://github.com/mateusz-przybyla.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ParsonalBudget - Object Oriented\n\nFinal version of the PersonalBudget application written in OOP paradigm.\\\n[Here](https://github.com/mateusz-przybyla/PersonalBudget_Structured) you can find the PersonalBudget application written in structured paradigm.\n\n## Table of contents\n\n- [Overview](#overview)\n  - [About](#about)\n  - [Application design](#plan-freemind)\n  - [Diagram UML](#diagram-uml)\n  - [Screenshot](#screenshot)\n- [My process](#my-process)\n  - [Built with](#built-with)\n  - [Useful resources](#useful-resources)\n\n## Overview\n\n### About\n\nPersonalBudget application allows you to keep records of your expenses and incomes.\nData are saved to the database (.xml file).\nFirst create a user account and then you can add incomes and expenses with today's date or with a selected backdate.\nYou can show current month's balalnce, previous month's balance and selected period balance. The application calculates the sum of incomes, expenses and the difference between them (incomes - expenses).\n\nOther functionalities:\n\n- Changing user password\n\n### Application design\n\n[Plan FreeMind](https://github.com/mateusz-przybyla/PersonalBudget_ObjectOriented/blob/main/PersonalBudget_Plan-FreeMind.pdf)\n\n### Diagram UML\n\n[Diagram UML](https://github.com/mateusz-przybyla/PersonalBudget_ObjectOriented/blob/main/PersonalBudget_uml.pdf)\n\n### Screenshots\n\n- Main menu:\n\n  ![](./images/main_menu.jpg)\n\n- User menu:\n\n  ![](./images/user_menu.jpg)\n\n- Adding new income:\n\n  ![](./images/new_income.jpg)\n\n- Expense category:\n\n  ![](./images/expense_category.jpg)\n\n- e.g. Previous month's balance:\n\n  ![](./images/previous_months_balance.jpg)\n\n## My process\n\n### Built with\n\n- OOP (Object Orienting Programming)\n- Operations on dates\n- Vectors\n- Pointers\n- Input/output with files (.xml)\n- Libraries: vector, ctime, sstream, iomanip, math.h, algorithm\n- External library: Markup\n- Clean code\n- SOLID Principles (especially Single Responsibility Principle)\n\n### Useful resources\n\n- Project Przyszly Programista\n- https://www.geeksforgeeks.org\n- https://miroslawzelent.pl/kurs-c++/\n- https://stackoverflow.com\n- https://www.firstobject.com/dn_markup.htm\n- https://www.tutorialspoint.com/cplusplus/cpp_date_time.htm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusz-przybyla%2Fpersonalbudget_objectoriented","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmateusz-przybyla%2Fpersonalbudget_objectoriented","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmateusz-przybyla%2Fpersonalbudget_objectoriented/lists"}