I finished writing my bachelor of science project more than 11 years ago. This was almost the time I was finishing my first video game project called Garshasp: The Monster Slayer with company "Dead Mage".
At that time the company was developing their own in-house engine based on OGRE3D open source graphics engine. At the same time that I was working with Dead mage on Garshasp, I tried to totally learn and understand the animation system of OGRE3D so I dedicated my Bachelor project on totally understanding the animation system of OGRE3D and as a result implemented an animation layering system on top of it.
Here I put the full document of the project. This can give you a good understanding of an animation system from scratch. Of course the user base of OGRE3D has dropped much lower after public release of engines like Unity and Unreal Engine but the purpose here is to get familiar with the basics of an animation system architecture.
Sorry, the text is only in Persian so it can be only useful for Persian speaking game developers.