Personal Budget


— PIERWSZY PROJEKT PROGRAMISTYCZNY —

Personal Budget to konsolowa aplikacja do zarządzania budżetem osobistym i mój pierwszy projekt programistyczny. Umożliwia prowadzenie ewidencji przychodów i wydatków, analizowanie bilansu z wybranych okresów oraz obsługę kont użytkowników.

Projekt powstał podczas nauki podstaw C++ i programowania obiektowego. Jego późniejszym rozwinięciem była aplikacja webowa Creative Wallet napisana w PHP.

Cel projektu

Celem projektu było zaprojektowanie aplikacji konsolowej wykorzystującej programowanie obiektowe, operacje na plikach oraz pracę z danymi użytkownika.

Projekt pozwolił mi przejść od podstaw języka C++ do tworzenia aplikacji podzielonej na klasy o określonych odpowiedzialnościach oraz zaprojektowania jej struktury z wykorzystaniem diagramu UML.

Kluczowe funkcjonalności

  • Rejestracja i logowanie użytkownika
  • Zmiana hasła
  • Dodawanie przychodów i wydatków
  • Dodawanie transakcji z bieżącą lub wybraną wcześniejszą datą
  • Wyświetlanie bilansu z bieżącego lub poprzedniego miesiąca
  • Wyświetlanie bilansu z wybranego okresu
  • Obliczanie sumy przychodów, wydatków oraz różnicy między nimi
  • Zapisywanie i odczytywanie danych z plików XML

Architektura

Aplikacja została napisana w C++ zgodnie z paradygmatem programowania obiektowego.

Logika została podzielona pomiędzy klasy odpowiedzialne m.in. za zarządzanie użytkownikami, finansami, transakcjami, operacjami na datach oraz zapis i odczyt danych. Przy projektowaniu aplikacji wykorzystałem diagram UML i starałem się rozdzielać odpowiedzialności poszczególnych klas zgodnie z zasadą Single Responsibility Principle.

Dane użytkowników oraz transakcji są przechowywane w plikach XML z wykorzystaniem biblioteki CMarkup.

Technologie

C++ · OOP · XML · CMarkup

Kod źródłowy