Desenvolver o projeto é errado, fazer um modelo e usar não é
O que mais tem é modelos prontos por aí e o pessoal só altera para o que o cliente quer, o cliente não precisa saber como foi feito, somente o resultado no final
Eu tenho um boilerplate com autenticação pronta, porque geralmente os sistemas precisam e isso já me poupa um bom tempo