Skip to content

Android application designed for banking. It contains functions such as account & deposit creation, transactions, management of cards, flexible account settings and many more.

Notifications You must be signed in to change notification settings

gabrielconstantin02/banking_app

Repository files navigation

banking_app

Descrierea proiectului

Proiectul este o aplicatie Android de banking ce permite logare si crearea unui cont, crearea de conturi bancare si depozite, efectuarea de tranzactii, asocierea/crearea de carduri, istoric al tranzactiilor(extras de cont), modificarea/acttualizarea detaliilor contului, personalizari ale profilului. Pentru toate aceste stocari/interogari, aplicatia se foloseste de o baza de date MySQL. Pentru mai multe detalii cu privire la abilitatile aplicatiei, vizitati sectiunea de Backlog & User Stories.

Proiect realizat pentru disciplina "Metode de dezvoltare software" din cadrul Facultatii de Matematica si Informatica, Universitatea Bucuresti.

Demo aplicatie

Demoul aplicatiei este incarcat pe Youtube aici

Backlog & User Stories

Backlog-ul poate fi consultat in projects

User Stories (si implementarea lor):

  1. "Ar trebui sa te poti loga direct cu contul generat de o banca" -> Login with an existing account
  2. "Cred ca ar fi utila o functie de creare a contului fara a merge fizic la banca" -> Create a new account
  3. "Aplicatia ar avea nevoie de mai multe optiuni de personalizare" -> Profile picture change
  4. "Ar fi util sa vad profilul de client in aplicatie" -> Display profile
  5. "As vrea sa vad o prezentare sumara a statisticilor contului meu" -> Display statistics
  6. "Vreau sa schimb detaliile personale fara a merge fizic la banca" -> Change personal data
  7. "Vreau sa schimb parola contului" -> Change password
  8. "As vrea sa creez conturi bancare direct din aplicatie" -> View and create accounts
  9. "Depozitele ar trebui sa poata fi deschise fara deplasarea la banca" -> View and create deposits
  10. "Abilitatea de a face plati directe prin IBAN ar fi foarte utila" -> Make a direct payment
  11. "Ar trebui implementata abilitatea de a vedea tranzactiile facute" -> View transaction history
  12. "As vrea sa reinnoiesc cardul sau sa il inchid fara a merge la banca" -> Show cards associated with accounts, renew and close them
  13. "Vrea sa deschid carduri direct din aplicatie" -> Generate a new card
  14. "As vrea un sistem de tipul extras de cont, cu toate detaliile despre contul selectat" -> View bank account details

UML

  1. Use case diagram
  2. Class diagram si un overview asupra claselor

Database

Diagrama pentru baza de date poate fi consultata aici.

Design & Flow

Pentru a intelege mai bine cum functioneaza aplicatia si designul, am realizat aceasta diagrama. Imaginea este exportata si in proiect aici

Source control

  1. branch creation, merge/rebase
  2. commits

Teste automate

Testele automate au fost realizate aici.

Bug reporting

  1. Database unavailable after payment
  2. Out of range value when inserting into card_number field
  3. Crash on twice failed login
  4. Wrong number of transactions in statistics

Build tool

Ca build tool am folosit Gradle din Adnroid Studio IDE. Am creat de asemenea cu ajutorul lui si un apk pentru aplicatia noastra. Acesta poate fi gasit in acest release

Refactoring & Code standards

La partea de refactoring, deoarece aveam nevoie de conexiune cu baza de date, in loc sa realizam aceasta conexiune in fiecare activitate din aplicatie avand mult cod in comun, am creat un singleton care ne intoarce aceasta instanta de conexiune. Pentru code standards am urmat guideline pentru Java de la Google

Design patterns

Intreaga aplicatie android a fost construita pe modelul MVC:

  1. Model -> aici se gasesc clasele generice pentru User, Account, Deposit, Transaction, Currency
  2. View -> layout-ul fiecarei activitati din aplicatie
  3. Control -> activitatile din aplicatie

Membrii echipei:

About

Android application designed for banking. It contains functions such as account & deposit creation, transactions, management of cards, flexible account settings and many more.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published