Rebates Tool

Start: 1530396000000

Duration: 6 months

C#/.NETWPFNoSQL

This project was the first major project where I was responsible for both the architecture as well as the implementation. This project came to me after I successfully planned and implemented various other small tools (not listed under projects since they were mostly <1 month). The projects goal was to enable the customer to compensate their respective customers based on a complex set of rules and the way they ordered supplies. Up to this point the rebate planning was done with excel files, but it became to complex to handle with that alone. However the input for our tool stayed excel files which we processed with the EPPlus library. During the implementation phase I worked together with a colleague to provide quality assurance and bug tracking. Automated tests were also planned and implemented by me, as well as a detailled documentation of the process and code for the customer.

To start out I planned out a database concept based on the old excel processes and based my software architecture around the old processes. This project was also implemented using SCRUM so there were various stages of development and sprints to be considered. Due to the customers wish to process the first stages in memory and only later send the processed data to other departments I conceptionalised a dual data concept where the first stage was processed in a NoSQL Database (LiteDB) and later was synced and processed on a MS-SQL database where complex stored procedures would undertake most of the calculations and adaptions to the data. The tool also had to provide various administration possibilities such as user management and customer allocation.

The technology used to implement this project was C#/.NET with Model View View-model (MVVM) design, WPF (XAML) for the frontend generation, EPPlus for Excel file processing and generation (for reports). To connect to the MS-SQL database we employed Entity Framework and Linq. For the LiteDB we used the provided LiteDB Nuget Package. The tools I used during this project were Enterprise Architect (Database design and implementation), Visual Studio 2017 and MS SQL Server Management Studio 2017. The project was organised using Team Foundation Server which is now Azure Dev Ops.

Project Responsible(s):

Bayoonet AG

Back