This is a project I did together with David Shim at the end of our first module at the Turing School of Software and Design. The purpose of this project is to write a data reporting tool that manipulates and reports on merchant transactional data.
###Project Goals
- Use tests to drive both the design and implementation of code
- Use test fixtures instead of actual data when testing
- Build a complex system of relationships using multiple interacting classes
- Demonstrate the DRY principle with modules and/or duck typing
- Separate parsing and data loading logic from business logic
- Use memoization to improve performance
The most challenging part of this project was to understand how the different components are connected and how to use their attributes in a way that allows for consice, dry code.