O objetivo desta tarefa é montar a base de uma nova aplicação Rails de gerenciamento escolar, o Schola
.
Nessa semana o foco será a criação da aplicação, configurações iniciais e definição dos modelos necessários.
Criar o esqueleto da aplicação. Uma nova aplicação Rails usando Sqlite como banco de dados e Rubocop, SimpleCov, RSpec, Shoulda-Matchers e FactoryBot como ferramentas de auxílio ao desenvolvimento. Certificar-se de remover módulos com funcionalidades não necessárias (envio de emails, websockets, etc).
Criar os modelos definidos no diagrama ER. Tentem criar os modelos na ordem que faça mais sentido e façam commits individuais. Os modelos devem possuir as validações, associações e índices mencionados no diagrama ER.
As entidades e relacionamentos necessários estão definidos neste diagrama. Certifiquem-se de que:
- as constraints apropriadas sejam criadas nas migrações, bem como os índices mencionados.
- as associaões estejam definidas corretamente nos modelos, incluindo
has_many :thoughs
, quando apropriado. - as validações estejam definidas apropriadamente nos modelos.
- Podem usar o banco de dados da sua preferência.
- Não usem scaffold.
- Não há necessidade de criar views nesse momento.
- Todos os models devem possuir testes unitários usando RSpec.
- Façam commits organizados.