Si la condición que te imponen es desarrollarlo bajo la filosofía del software libre, entonces deberías cumplir la premisa de
no reinventar la rueda y reutilizar el software existente, como por ejemplo
Iglues, o
Faturalux. Y si no quieres usar su código, al menos sí que te puede resultar útil mirar cómo lo han hecho. Aprender del trabajo ajeno también es parte de la filosofía del software libre.