All Projects → gbourniq → bank-statement-analysis

gbourniq / bank-statement-analysis

Licence: other
Flask application generating interactive visualisations from bank statements PDF documents

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to bank-statement-analysis

NLP-Flask-Website
A simple Flask website for all NLP tasks which includes Text Preprocessing, Keyword Extraction, Text Summarization etc. Created Date: 30 Jan 2019
Stars: ✭ 43 (+38.71%)
Mutual labels:  flask-application
NER-and-Linking-of-Ancient-and-Historic-Places
An NER tool for ancient place names based on Pleiades and Spacy.
Stars: ✭ 26 (-16.13%)
Mutual labels:  flask-application
disaster-crawler
Data sources from Kimono currently unavailable
Stars: ✭ 13 (-58.06%)
Mutual labels:  web-application
appng
appNG is an open source, horizontally scalable application platform for developing and operating applications efficiently. It can be used to build an Application Platform as a Service (aPaaS).
Stars: ✭ 32 (+3.23%)
Mutual labels:  web-application
power-bi-embedded
Use Power BI Embedded to embed dashboards, reports, report visuals, Q&A, and tiles in your WordPress website.
Stars: ✭ 37 (+19.35%)
Mutual labels:  powerbi
Azure-DevOps
Data extraction and Power BI report that generate management informations about your Azure DevOps organization. Using Azure DevOps CLI and Azure DevOps REST API, PowerShell scripts extract data from Azure DevOps, store this information in an Azure SQL Database and shows them in a Power BI report.
Stars: ✭ 581 (+1774.19%)
Mutual labels:  powerbi
PowerBI-visuals-ForceGraph
Repo for Power BI Force Graph custom visual
Stars: ✭ 46 (+48.39%)
Mutual labels:  powerbi
MusicStream
A NodeJS server and web client for streaming music (and videos) to your network
Stars: ✭ 22 (-29.03%)
Mutual labels:  web-application
BeautyBooking
Web application for booking beauty appointments (ASP.NET Core 3.1). My project for the ASP.NET Core course at SoftUni.
Stars: ✭ 35 (+12.9%)
Mutual labels:  web-application
WGDashboard
Simplest dashboard for WireGuard VPN written in Python w/ Flask
Stars: ✭ 772 (+2390.32%)
Mutual labels:  flask-application
trento
An open cloud-native web console improving on the work day of SAP Applications administrators.
Stars: ✭ 35 (+12.9%)
Mutual labels:  web-application
slye
A web application to create 3D presentations based on WebGL
Stars: ✭ 60 (+93.55%)
Mutual labels:  web-application
website
Fully responsive website built with NextJS, React and Fluent UI, with the aim of providing services and access to all groups of didactic courses and general purposes to students of the University of Milan.
Stars: ✭ 29 (-6.45%)
Mutual labels:  web-application
boost
🚀 A collection of type-safe cross-platform packages for building robust server-side and client-side systems.
Stars: ✭ 97 (+212.9%)
Mutual labels:  web-application
Power-Query-Excel-Formats
A collection of M code to get various formats from Excel sheets in Power Query
Stars: ✭ 43 (+38.71%)
Mutual labels:  powerbi
bside
Github Content Management System
Stars: ✭ 22 (-29.03%)
Mutual labels:  web-application
Flight-Booking-System-JavaServlets App
✈️ An enterprise level Flight Booking System for Turkish Airlines (web-application) based on the Model View Controller (MVC) Architecture made using Java Servlets, Java Server Pages (JSPs). Moreover authentication and authorization for users is implemented. The web-application is also secured against SQL Injection and Cross-Site Scripting attacks.
Stars: ✭ 107 (+245.16%)
Mutual labels:  web-application
software-systems-architecture
A collection of descriptions of the architecture that various systems use.
Stars: ✭ 24 (-22.58%)
Mutual labels:  web-application
Segnalibro
Save and comment your favorite links from the web. It's just a bookmarking application.
Stars: ✭ 14 (-54.84%)
Mutual labels:  web-application
w-components
JavaScript library based on Web Components.
Stars: ✭ 17 (-45.16%)
Mutual labels:  web-application

Bank Statement Analyser

Overview

This application analyses bank statements and provides analytical reports on the account expenses. This is a personal project to get an idea about my expenses and sharpen my knowledge on the following set of technologies :

  • Python Flask framework
  • Computer Vision (Google's Tesseract OCR)
  • Pdf to Image python package (Pdf2image)
  • Machine Learning (Scikit Learn) to predict transaction categories
  • Azure SQL Database to store transaction data and user login details
  • PowerBI visualisations

Behind the scenes, the app extracts transaction details from documents, predicts a category for each transaction, and upload the data to a SQL database linked to interactive PowerBI visualisations.

Demo

https://bsa-demo.azurewebsites.net/
Username : admin
Password : password123

Visualisations are generated from ~3000 transaction samples which can be viewed in transaction.db

There are three main screens to the application :

  • Transaction details
  • Dashboard views
  • Statements upload

Transaction details image

Dashboard selection screen image

Dashboard view (Total spending) image

Filtered Dashboard by Year and Category image

Read further to create your own App

Initial Setup

The following steps are required to link your own data to the displayed visualisations

  • Create a SQL Database with the tables suggested below *
  • Replace the database connection variables in parameters.py
  • In each PowerBI file (.pbix), set up a DirectQuery to the database
  • Upload .pbix files to PowerBI Service and create sharable links (Publish to Web)
  • Insert each link in the corresponding html template

* SQL Tables :

A transaction table containing transaction records

CREATE TABLE transactions (
    ID varchar(255) NOT NULL PRIMARY KEY,
    Date datetime NOT NULL,
    Value float,
    Category varchar(255),
	Reference varchar(255)
);

A users table containing login details

CREATE TABLE users (
    id INTEGER NOT NULL PRIMARY KEY Identity(1, 1),
    username VARCHAR(15) UNIQUE,
	email VARCHAR(50) UNIQUE,
	password VARCHAR(80)
);

Run the app locally

In the command prompt, run the following :

  1. Install Docker
    $ pip install docker
    
  2. Verify Docker installation
    $ docker version
    
  3. cd into the bsa-app folder
    $ cd full/path/to/bsa-app
    
  4. Build docker image
    $ docker build -t bsa_image:latest .
    
  5. Generate and Run a container
    $ docker run -p 5000:5000 bsa_image:latest
    
  6. Visit http://localhost:5000/
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].