An ordered pair $\ \mathbf X := (X\ d)\ $ is called a chain group $\ \Leftarrow:\Rightarrow\ X\ $ is an abelian group, $\ d:X\rightarrow X\ $ is an abelian group endomorphism, and $\ d\circ d= 0$.
A chain homomorphism $\ f:\mathbf X\rightarrow \mathbf X'\ $ of chain groups $\ \mathbf X := (X\ d)\ $ and $\ \mathbf X' := (X'\ d')\ $ is any abelian group homomorfizm $\ f:X\rightarrow X'\ $ such that $\ d'\circ f=f\circ d$. These are morphisms of the category of the chain groups, and chain monomorphisms (epimorphisms) are chain homomorphisms which are monomorphisms (resp. epimorphisms) as group homomorphisms.
A chain group $\ (X\ d)\ $ is chain generated by a set $\ A\subseteq X\ \Leftarrow:\Rightarrow\ $ for every chain group $\ (Y\ d')\ $ such that $\ Y\ $ is subgroup of group $\ X,\ d' = d|Y,\ $ and $\ A\subseteq Y,\ $ we have $Y=X$. A chain group is finitely generated if it admits a finite set of generators.
Problem Provide a full classification of finitely generated chain groups.
Of course, the classification of finitely generated abelian groups is a classical result. I think that the above problem is open (is it?), and I feel that--in the view of the said classical classification, it should not be extremely hard.
Remark A set $\ A\ $ generates a chain group $\ (X\ d)\ \Leftrightarrow\ $ the set $\ A\cup\{d(a) : a\in A\}\ $ generates the abelian group $\ X.\ $ Thus, it follows that the above definition of finitely generated chain groups is equivalent to the definition which says that $\ X\ $ should be finitely generated as an abelian group.