Refatoração total do app

Para detalhes, só ver branch 'codigo'