Foundation Generic project for extending Requirements: It should use java with spring+hibernate. It should be as flexible as it possible. Its architecture should be modularity. Every module should be replacable and configurable.