Twój osobisty asystent finansowy w konsoli

Kontroluj swoje finanse z elegancją kodu C++

W erze wszechobecnych aplikacji mobilnych i webowych, konsolowa aplikacja do zarządzania budżetem może wydawać się reliktem przeszłości. Nic bardziej mylnego! Personal Budget Assistant to dowód na to, że dobrze zaprojektowane narzędzie konsolowe może być równie funkcjonalne i użyteczne jak jego graficzni konkurenci.

Co wyróżnia tę aplikację?

Prostota użytkowania

Aplikacja kieruje się zasadą „mniej znaczy więcej”. Zamiast przytłaczającego interfejsu z dziesiątkami opcji, użytkownik otrzymuje przejrzysty system menu, który prowadzi go krok po kroku przez wszystkie funkcje. Rejestracja? Dwa kliknięcia. Dodanie przychodu? Trzy proste pytania. To idealne rozwiązanie dla osób, które cenią sobie efektywność ponad efekty wizualne.

Inteligentne zarządzanie datami

Jednym z najbardziej przemyślanych elementów aplikacji jest system obsługi dat. Nie musisz pamiętać, czy luty ma 28 czy 29 dni – aplikacja sama to oblicza, uwzględniając lata przestępne. Chcesz dodać dzisiejszy wydatek? Wystarczy jedno potwierdzenie. Potrzebujesz wpisać starszą transakcję? System zweryfikuje poprawność daty i upewni się, że nie próbujesz dodać wydatku z przyszłości.

Raporty, które mają sens

Aplikacja oferuje trzy kluczowe typy raportów:

Bieżący miesiąc – Natychmiastowy wgląd w to, jak radzisz sobie finansowo w tym miesiącu. Ile zarobiłeś? Ile wydałeś? Jaki jest Twój bilans? Wszystko w jednym miejscu.

Poprzedni miesiąc – Idealne do analizy retrospektywnej. Zobacz, czy poprzedni miesiąc był udany finansowo i wyciągnij wnioski na przyszłość.

Dowolny okres – Potrzebujesz zobaczyć, ile wydałeś na wakacjach? A może chcesz przeanalizować cały kwartał? Ta opcja daje Ci pełną swobodę.

Technologia na najwyższym poziomie

Architektura obiektowa

Aplikacja to przykład podręcznikowego zastosowania programowania obiektowego. Każda klasa ma swoją jasno określoną odpowiedzialność:

  • UserManager dba wyłącznie o użytkowników
  • BudgetManager koncentruje się na operacjach finansowych
  • DateMethods to zbiór inteligentnych funkcji do obsługi dat

Taka separacja sprawia, że kod jest łatwy w utrzymaniu i rozbudowie. Chcesz dodać nową funkcję? Wiesz dokładnie, gdzie szukać.

Bezpieczeństwo danych

Twoje dane finansowe to wrażliwa informacja. Aplikacja implementuje kilka mechanizmów bezpieczeństwa:

  • Hasła chronią dostęp do konta każdego użytkownika
  • Limit prób logowania (3 próby) zabezpiecza przed atakami brute-force
  • Izolacja danych użytkowników – każdy widzi tylko swoje transakcje
  • Trwałość danych – wszystko zapisywane w formacie XML, który przetrwa restart systemu

Format XML – czytelność i elastyczność

Wykorzystanie formatu XML do przechowywania danych to przemyślana decyzja. W razie potrzeby, możesz otworzyć pliki incomes.xml czy expenses.xml i zobaczyć swoje dane w czytelnej, strukturalnej formie. To także ułatwia ewentualną migrację danych do innych systemów lub tworzenie kopii zapasowych.

Dla kogo jest ta aplikacja?

Studenci informatyki

To doskonały materiał edukacyjny pokazujący, jak należy projektować aplikacje obiektowe. Kod ilustruje wzorce projektowe, dziedziczenie, kompozycję i enkapsulację w praktycznym, rzeczywistym zastosowaniu.

Osoby ceniące prywatność

Twoje dane nie trafiają do chmury, nie są analizowane przez algorytmy reklamowe. Wszystko zostaje na Twoim komputerze, pod Twoją kontrolą.

Minimaliści cyfrowi

Nie każdy potrzebuje aplikacji z tysięcznymi funkcjami, powiadomieniami push i integracją z mediami społecznościowymi. Czasami wystarczy narzędzie, które robi dokładnie to, czego potrzebujesz – i nic więcej.

Deweloperzy szukający inspiracji

Struktura projektu, organizacja klas i implementacja logiki biznesowej to cenne źródło wiedzy dla programistów C++ chcących doskonalić swoje umiejętności.

Szczegóły techniczne, które robią różnicę

Inteligentna walidacja danych

Aplikacja nie pozwoli Ci wprowadzić nieprawidłowych danych. Format daty jest sprawdzany na wiele sposobów – nie tylko struktura (YYYY-MM-DD), ale także logiczna poprawność (nie można wpisać 32 lutego czy daty z przyszłości dla transakcji historycznych).

Automatyczne sortowanie

Wszystkie przychody i wydatki są automatycznie sortowane chronologicznie. To pozwala na szybkie generowanie raportów i ułatwia analizę przepływów finansowych w czasie.

Elastyczność w wprowadzaniu kwot

Czy używasz przecinka czy kropki jako separatora dziesiętnego? Nie ma znaczenia – aplikacja automatycznie konwertuje przecinki na kropki, dostosowując się do Twoich przyzwyczajeń.

Wsparcie dla wielokrotnych użytkowników

Jedna instalacja może obsługiwać wielu użytkowników. Każdy ma swoje konto, swoje hasło i swoje całkowicie oddzielne dane finansowe.

Potencjał rozwoju

Choć aplikacja jest już w pełni funkcjonalna, architektura pozostawia ogromne pole do rozwoju:

  • Kategorie wydatków – możliwość oznaczania transakcji kategoriami (jedzenie, transport, rozrywka)
  • Planowanie budżetu – ustawianie limitów wydatków i otrzymywanie ostrzeżeń
  • Eksport danych – generowanie raportów w formacie CSV lub PDF
  • Transakcje cykliczne – automatyczne dodawanie stałych wydatków
  • Statystyki i wykresy – wizualizacja trendów finansowych
  • Interfejs graficzny – nadbudowanie GUI przy zachowaniu istniejącej logiki

Filozofia projektu

Personal Budget Assistant powstał z przekonania, że dobre oprogramowanie nie musi być skomplikowane. Czasami najprostsze rozwiązania są najlepsze. Aplikacja koncentruje się na core functionality – śledzeniu przychodów i wydatków – i robi to bardzo dobrze.

To narzędzie dla osób, które:

  • Chcą kontrolować swoje finanse bez udostępniania danych firmom zewnętrznym
  • Cenią prostotę i funkcjonalność ponad efekty wizualne
  • Szukają lekkiego rozwiązania, które nie obciąża systemu
  • Potrzebują narzędzia działającego offline

Podsumowanie

Personal Budget Assistant to więcej niż tylko aplikacja do zarządzania budżetem. To demonstracja tego, jak dobrze zaprojektowany kod może skutkować w praktycznym, użytecznym narzędziu. To dowód na to, że konsola wcale nie umarła – po prostu ewoluowała.

Czy jest to narzędzie dla każdego? Prawdopodobnie nie. Czy jest to narzędzie dla osób ceniących prostotę, prywatność i pełną kontrolę nad swoimi danymi? Absolutnie tak.

W świecie, gdzie każda aplikacja chce dostępu do Twoich danych, lokalizacji i kontaktów, Personal Budget Assistant przypomina nam, że oprogramowanie może być potężne i funkcjonalne, nie rezygnując przy tym z prywatności użytkownika.


Aplikacja jest dostępna jako projekt open-source i może być swobodnie modyfikowana oraz rozwijana zgodnie z indywidualnymi potrzebami.

Repozytorium GitHub: https://github.com/DamianMolter/BudgetAssistant

Status Projektu: Portfolio