GSoC/2020/StatusReports/PrasunKumar: Difference between revisions

From KDE Community Wiki
< GSoC‎ | 2020‎ | StatusReports
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 27: Line 27:
* [https://sourceforge.net/u/prasun/ktoblzcheck-gsoc2020/ci/master/tree/ Development fork]
* [https://sourceforge.net/u/prasun/ktoblzcheck-gsoc2020/ci/master/tree/ Development fork]


=== Deliverables ===
=== Deliverables Progress===
==== Phase I ====
==== Phase I ====
* A script that generates the SQLite DB using blz datafile downloaded from the Deutsche Bundesbank - '''Done'''
* To create a script that generates the SQLite database from the latest available bankdata file downloaded from the Deutsche Bundesbank's [https://www.bundesbank.de/de/aufgaben/unbarer-zahlungsverkehr/serviceangebot/bankleitzahlen/download-bankleitzahlen-602592 website] by following the specifications available [https://www.bundesbank.de/en/tasks/payment-systems/services/bank-sort-codes/ here]. - '''Done'''
* Modifications in the CMake build system to call this script at build time. - '''Done'''
 
* Replacing the part of code that uses the text datafile with the code that reads from this database. - '''Done'''
* Modifications in the CMake build system to run this script at build time. - '''Done'''
* Updating tests, documentation and benchmark to work with the new database. - '''Done'''
 
* Methods to allow the library to query required data from the databases. - '''Done'''
 
* Replacing the part of code that uses the text data-file with code that reads from the databases while maintaining the similar structure so as to least impact the public API. - '''Done'''
 
* Adding tests to work with the new database and documentation for the added code. - '''Done'''
 
* Updating the benchmark tool to work with the new database. - '''Done'''
 
* Modifying the command-line tool to enable support for the user-supplied database. - '''Done'''
* Modifying the command-line tool to enable support for the user-supplied database. - '''Done'''


Line 44: Line 52:
==== Phase II ====
==== Phase II ====


* Add database generating scripts for additional countries (Netherlands and Switzerland) - '''Done'''
* To create a script that generates the SQLite database for the Netherlands from the latest available bankdata Excel file downloaded from the Dutch Payments Association [https://www.betaalvereniging.nl/betalingsverkeer/giraal-betalingsverkeer/bic-sepa-transacties/ website]. - '''Done'''
 
* To create a script that generates the SQLite database for Switzerland from the latest available bankdata file downloaded from the SIX group's [https://www.six-group.com/de/products-services/banking-services/interbank-clearing/online-services/download-bank-master.html website] which operates the infrastructure for the Swiss financial centre. - '''Done'''
 
* Modifications in the CMake build system to generate these databases on build time - '''Done'''
      
      
* Enable automatic database generation on build time - '''Done'''
* Modifications in the library to enable it to accept databases of these additional countries as there is support for only German databases - '''Done'''
      
      
* Modifications in the library to enable it to accept databases of these additional countries - '''Done'''
* Modifications in the command-line tool to take 'country' as an option to distinguish between different country's validation checks. - '''Done'''
      
      
* Add support for checking of bankIds and accountIds of these countries - '''Done'''
* Add tests and documentation for these additions. - '''Done'''
 
Blog Post : [https://prasunka.github.io/posts/gsoc2020-phase-2 GSoC'20 progress : Phase II]
 
 
==== Phase III ====
      
      
* Modifications in the command-line tool to take 'country' as an option and call a suitable constructor. - '''Done'''
* Add support for validation of bankIds and accountIds for additional countries. - '''Done'''
   
 
* Add tests and documentation for this added code. - '''Done'''
* Mark the now redundant and unusable methods of the public API as deprecated. - '''Done'''
 
* Create a public API to enable and extend the functionality of checking for updates and updating of bank-data databases from the project's source site to a client of the library. - '''Setting up the remote source'''
 
* Create an API to enable the query of these databases to integrate them into other applications. - '''Work in Progress'''  
 
* Add documentation for these APIs. - '''Adding along with code'''


Blog Post : https://prasunka.github.io/posts/gsoc2020-phase-2
Blog Post : [https://prasunka.github.io/posts/gsoc2020-phase-3 GSoC'20 progress : Phase III]


==== Bug Fixes ====
* [https://sourceforge.net/p/ktoblzcheck/code/merge-requests/9/ Fixed test errors when run using python3]
* [https://sourceforge.net/p/ktoblzcheck/code/merge-requests/10/ Fix for code beautifier not finding any files]
* [https://sourceforge.net/p/ktoblzcheck/code/merge-requests/11/ Fixed warning on running code beautifier]
=== Opened Merge Request ===
* [https://sourceforge.net/p/ktoblzcheck/code/merge-requests/12/ Provision of bank data in SQLite Format]
=== Proposal ===
=== Proposal ===


* GSoC Proposal: https://docs.google.com/document/d/1pMM0cUlPNpzWzlfEZ7XKcHTwJC73EYiYbLoQJRT7Jpc/
* GSoC Proposal: https://drive.google.com/file/d/1bbmQB_THdbA0T15atBLEtAJjL05Zdfyu/view?usp=sharing


=== About Me ===
=== About Me ===

Latest revision as of 09:15, 30 August 2020

Project Overview

KtoBLZCheck is a library to check bank account numbers and bank codes (BLZ) of German Banks and other international banks. Currently, KtoBLZCheck uses multiple bankdata files in text format which are valid at different dates. The data which is regularly retrieved from ​Deutsche Bundesbank is valid for three months. This leads to a lot of duplication of data.
The idea is to integrate the support for query and generation of SQLite databases into KtoBLZCheck to replace the text files used currently. This will avoid duplicate data and enable the support for multiple countries improving the scope of this library.
I also aim to create an API for querying the databases, so as to integrate these databases into other applications.

Mentors : Ralf Habacker, Thomas Baumgart, Ingo Klöcker


Blog


Repositories

Deliverables Progress

Phase I

  • To create a script that generates the SQLite database from the latest available bankdata file downloaded from the Deutsche Bundesbank's website by following the specifications available here. - Done
  • Modifications in the CMake build system to run this script at build time. - Done
  • Methods to allow the library to query required data from the databases. - Done
  • Replacing the part of code that uses the text data-file with code that reads from the databases while maintaining the similar structure so as to least impact the public API. - Done
  • Adding tests to work with the new database and documentation for the added code. - Done
  • Updating the benchmark tool to work with the new database. - Done
  • Modifying the command-line tool to enable support for the user-supplied database. - Done
Blog Posts

Phase II

  • To create a script that generates the SQLite database for the Netherlands from the latest available bankdata Excel file downloaded from the Dutch Payments Association website. - Done
  • To create a script that generates the SQLite database for Switzerland from the latest available bankdata file downloaded from the SIX group's website which operates the infrastructure for the Swiss financial centre. - Done
  • Modifications in the CMake build system to generate these databases on build time - Done
  • Modifications in the library to enable it to accept databases of these additional countries as there is support for only German databases - Done
  • Modifications in the command-line tool to take 'country' as an option to distinguish between different country's validation checks. - Done
  • Add tests and documentation for these additions. - Done

Blog Post : GSoC'20 progress : Phase II


Phase III

  • Add support for validation of bankIds and accountIds for additional countries. - Done
  • Mark the now redundant and unusable methods of the public API as deprecated. - Done
  • Create a public API to enable and extend the functionality of checking for updates and updating of bank-data databases from the project's source site to a client of the library. - Setting up the remote source
  • Create an API to enable the query of these databases to integrate them into other applications. - Work in Progress
  • Add documentation for these APIs. - Adding along with code

Blog Post : GSoC'20 progress : Phase III

Bug Fixes

Opened Merge Request

Proposal

About Me

  • Name  : Prasun Kumar
  • Email  : [email protected]
  • IRC Nick : prasunkr
  • Location : Guwahati, India (UTC +05:30)