Skip to content

Instantly share code, notes, and snippets.

@Attumm
Last active March 3, 2024 09:35
Show Gist options
  • Save Attumm/3927bfab39b32d401dc0a4ca8db995bd to your computer and use it in GitHub Desktop.
Save Attumm/3927bfab39b32d401dc0a4ca8db995bd to your computer and use it in GitHub Desktop.

SOBERS Assignment

Introduction

For this assignment our client has a web application that deals with accounting. One of the features is to import csv's with bank statements.

In this assignment, There is already a version that runs for a single bank. In this assignment a version is needed that is not a POC(Proof of Concept) but will be used as the main point for the bank integration feature. There for maintenance and extensibility will be important. Your task will be to create a script that parses data from different banks. In the future the client would like to intergrate with different banks.

Assignment

You are tasked to create a script that will parse multiple csv's and create a unified csv. There are 3 different csv's, this will increase in the future. The client has a hard requirement that the result is stored as a csv file. But json and xml will be used in the future, maybe even storing the result in a database.

In the data folder there are 3 csv's with banking data. Since the csv's come from different banks the layout of data can differ. The bank statements have data from the month October.

Scoring

Create a script according to above specified requirements. You are allowed to take as much time as needed, But try to manage your time to around 1 or 2 hours. Since we are a Python shop the script must be done with Python. Scoring is based on:

  • Correctness
  • Code architecture
  • Maintainability
  • Testability
  • Extendibility
  • Pythonicness of code

Tests are not required, but plus points for tests. This is a moment to show your skills. But remember simple is better then complex. Try to solve the assignment with the standard library of Python.

Note: The assignment example files are meant to be easy. The focus should be on the scoring points.

timestamp type amount from to
Oct 1 2019 remove 99.20 198 182
Oct 2 2019 add 2000.10 188 198
date transaction amounts to from
03-10-2019 remove 99.40 182 198
04-10-2019 add 2123.50 198 188
date_readable type euro cents to from
5 Oct 2019 remove 5 7 182 198
6 Oct 2019 add 1060 8 198 188
@madanreddy-dev
Copy link

madanreddy-dev commented Mar 29, 2021

#NA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment