Projeto Semestral


Ao longo deste semestre, iremos desenvolver um SaaS aplicando as melhores práticas de Engenharia de Software.

Para isso, nos dividiremos em grupos de 5 ou 6 alunos, para projetar, planejar, desenvolver, testar e implantar um software como serviço ao longo do semestre.

Cada grupo é livre para escolher o software a ser desenvolvido. Sejam ousados! Essa pode ser uma chance de transformar uma ideia em algo que pode render frutos no futuro. Alguns softwares que começaram a ser desenvolvido aqui migraram para a Incubadora Habits ao final do projeto.

O software não será avaliado por suas funcionalidades ou beleza. Ele será avaliado pelo esforço despendido por cada integrante do grupo para projetar, planejar, desenvolver, testar e implantar o software.

A implementação do software deverá, obrigatoriamente, usar:

  • o arcabouço Ruby on Rails para o backend e HTML5+JavaScript para a interface;
  • o arcabouço para testes de unidade e funcional RSpec (para Ruby e Rails) e Jasmine (para JavaScript);
  • uma forma de medir a cobertura dos testes (Coveralls e Travis CI)
  • um arcabouço de testes que possa expressar testes que corresponderão às histórias dos usuários (Cucumber e Capybara)
  • um arcabouço para medição da qualidade do código, que ajude a identificar mal cheiros de projetos, problemas no estilo do código, etc. (CodeClimate)

Vejam exemplos de projetos implementados pelos alunos em oferecimentos anteriores do curso.


Iteração 0

A Iteração 0 trata da configuração do ambiente de desenvolvimento do projeto e da formação dos grupos.

O primeiro passo é organizar os grupos. Na Planilha de Divisão de Grupos, vá até a aba correspondente ao seu curso (ACH2006 ou SIN5005) e mova o seu nome da lista de matriculados para um dos grupos. O primeiro nome indicado em cada grupo será o meu contato para os próximos passos. Lembrem-se que os grupos devem ter 5 ou 6 alunos.

Cada grupo deverá, então, seguir os seguintes passos (sugiro que a ordem dos itens seja seguida):

  1. Criar um projeto no GitHub
  2. Adicionar todos os integrantes do grupo como colaboradores
  3. Todos os membros devem conseguir fazer um clone do repositório e executar o projeto em seu ambiente de desenvolvimento local. Recomendação (em ordem de preferência): use Linux/MacOS, a imagem do Docker a ser disponibilizada pelos monitores ou use um serviço de IDE online como o Cloud9
  4. Os comandos rake spec e rake cucumber deve rodar sem erros (mesmo que ainda não haja testes escritos)
  5. Integrar o repositório com Travis CI, o que significa ter o Travis CI reportando "Build: passing"
  6. Integrar o repositório com o CodeClimate
  7. Implantar o projeto na plataforma Heroku;
  8. Um README.md no repositório do projeto que inclua todos os itens abaixo:
    •     "CodeClimate badge" mostrando o GPA do projeto
    •     "Travis CI badge" mostrando o status do build no branch master (deve ser: passing)
    •     Link para a app implantada no Heroku
    •     Link para o projeto no Pivotal Tracker (não crie um projeto agora, o link será fornecido por mim, o projeto no Pivotal será criado assim que os grupos forem definidos)
    •     Integrantes do projeto e uma pequena descrição de qual problema o software de vocês resolverá

O link para o projeto do GitHub deverá ser enviado pelo aluno indicado como contato do grupo para mim, por e-mail, até o dia 5/set.

Modifié le: mardi 8 septembre 2020, 12:58