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.
Demoul aplicatiei este incarcat pe Youtube aici
Backlog-ul poate fi consultat in projects
User Stories (si implementarea lor):
- "Ar trebui sa te poti loga direct cu contul generat de o banca" -> Login with an existing account
- "Cred ca ar fi utila o functie de creare a contului fara a merge fizic la banca" -> Create a new account
- "Aplicatia ar avea nevoie de mai multe optiuni de personalizare" -> Profile picture change
- "Ar fi util sa vad profilul de client in aplicatie" -> Display profile
- "As vrea sa vad o prezentare sumara a statisticilor contului meu" -> Display statistics
- "Vreau sa schimb detaliile personale fara a merge fizic la banca" -> Change personal data
- "Vreau sa schimb parola contului" -> Change password
- "As vrea sa creez conturi bancare direct din aplicatie" -> View and create accounts
- "Depozitele ar trebui sa poata fi deschise fara deplasarea la banca" -> View and create deposits
- "Abilitatea de a face plati directe prin IBAN ar fi foarte utila" -> Make a direct payment
- "Ar trebui implementata abilitatea de a vedea tranzactiile facute" -> View transaction history
- "As vrea sa reinnoiesc cardul sau sa il inchid fara a merge la banca" -> Show cards associated with accounts, renew and close them
- "Vrea sa deschid carduri direct din aplicatie" -> Generate a new card
- "As vrea un sistem de tipul extras de cont, cu toate detaliile despre contul selectat" -> View bank account details
Diagrama pentru baza de date poate fi consultata aici.
Pentru a intelege mai bine cum functioneaza aplicatia si designul, am realizat aceasta diagrama. Imaginea este exportata si in proiect aici
Testele automate au fost realizate aici.
- Database unavailable after payment
- Out of range value when inserting into card_number field
- Crash on twice failed login
- Wrong number of transactions in statistics
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
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
Intreaga aplicatie android a fost construita pe modelul MVC: