A project for learning design pattern