Diploma Project Deadline
This release marks the deadline for the diploma project.
Implemented Features in PI Smart (Mobile Application for Managing Personal Finances):
- Login Page - gets tokens from the keycloak and id from the backend. If the login has been done once the user is prompted to authenticate via biometrics;
- Home Page - fetches the cards of the user. Routes to every page except Login;
- BankAccount Page - Displays confidential info about the bank account and the cards to it. Authenticates the user via biometrics before opening the page;
- Transfer page - creates transactions. Authenticates the user before executing transaction;
- Statistics Page - shows recent transactions and a graph of monthly incomes and expenses;
- Map Page - fetches bank facilities and dipslays them on a Google Map;
- Info Page - shows information about the users account. Allows the user to logout;
- About Page - displays information about the bank, app, etc;
Implemented Features in the Bank Administration Platform (Backend for the Mobile Application):
- Database created from a model;
- Page for every table in the database that allows creation, updates and deletion of entries;
- Event for transactions - when a transaction is created the event triggers and updates the bank accounts of the receiver and sender;
- Process for scheduling transactions - if a transaction with a date is submitted via a post request a process is started. The process waits for the due date and creates the transaction;
Implemented Features in the Keycloak:
- Created a rel pi-bank;
- Created clients: pi-bank-backend for the Bank Administration Platform and pi-bank-mobile for PI Smart;
- Handles sessions for every user in the mobile application;
- Creates tokens for authentication of users in the mobile application;
- Created a policy for token exchange between the mobile and backend clients;
Server Implementation:
- Configured reverse proxy nginx;
- Created SSL certificates with Certbot;
- All services are activated in Docker containers;
Full Changelog: v2.4.0...2.5.0