This "application" (really collection of applications) powers FBKL, a custom fantasy basketball ruleset. The ruleset is meant to simulate how real NBA teams manage their assets (IE player contracts and draft picks), while keeping the game fun in a fantasy league setting.
Rather than use numerical years, we use the concept of a Basketball season to mark the year in which a league is run. This is because the NBA Basketball season usually starts in the Fall and ends in the Spring, and it can become confusing to talk about the year in which actions were taken. For example, if a trade was conducted between two teams in 2017, did that trade apply to the 2016-2017 season, or the 2017-2018 season?
Enter the concept of a "Season End Year." If an example where an NBA season runs between October 2017 – May 2018, the Season End Year for that season is 2018. The Season End Year can be defined as the year in which a specific NBA Basketball season ends.
Transactions are recordings of the actions taken in the league that result in 1 or more teams changing in some way. Things like trades, drafting a player, signing a free agent, changing team ownership, etc., can all be considered transactions.