Upload
incuca
View
206
Download
3
Embed Size (px)
Citation preview
O que é o Coding Dojo?
“Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo”. http://codingdojo.org/
O que esperar e o que é necessário?
PromessaAdquirir habilidades de codificação deve ser um processo contínuo.
Características- Ambiente colaborativo, não competitivo e divertido.- Todos os níveis são bem-vindos.- Experimentalizar novas idéias em segurança.
Requisitos- Sala de reuniões com assentos suficientes.- Pelo menos um PC ou laptop.- Uma tela para projeção.
Como funciona?
Próxima 2 min: decidir sobre data para a próxima sessão;Anterior 30 min: retrospectiva rápida da sessão anterior; o que correu bem, o que era interessante, o que foi frustrante;Protocolo 10 min: decidir sobre um tema para esta sessão e contextualização do stack de tecnologia a ser utilizado;Código 50 min: Definir quem serão as duplas e o que cada uma deve desenvolver;Intervalo 8 min: pausa no meio da sessão para discutir como as coisas estão indo; Dúvidas e sugestões são bem vindas!+ Código 50 min: um pouco mais de código;
Tempo total: 3 horas
Retrospectiva sobre o último Dojo!
...anterior30min
:D o que correu bem?
:) o que era interessante?
:( o que foi frustrante?
Sistema de Gestão da InCuca
-Modelo BD - conceitual + lógico;
-JHipster gerador Yeoman;
-Front-end AngularJS;
-Back-end Spring MVC;
-Workflow Yeomen, Bower, Grunt e
Maven
-Deploy Heroku;
Objetivo: entender o funcionamento do
JHipster e gerar as primeiras entidades.
Como começar um sistema?
Problema do cliente…
...solução da equipe de desenvolvimento!
1º Entender o domínio do problema
2º Levantar os requisitos
3º Aprovar os requisitos com o cliente
Especificação de requisitos
Documental do que o sistema deve conter e
fazer descrito de forma simplificada
Deve ser entendido por qualquer pessoa
-Cliente + Programador + Usuário -
InCuca - Software - ERP InCuca - Especificação de requisitos
Modelos BD # Conceitual + Lógico
Definir usuários, permissões, entidades e
casos de uso para cada usuário no sistema
Ordem inversa de complexidade para desenvolvimento
Entidades concretas (pessoa, empresa) e Entidades abstratas (setores)
Desenhar os relacionamentos e atributos
Normalizar os elementos do banco de dados
evitar inconsistência e redundância de dados - MySQL ou Postgres
JHipster gerador Yeoman
http://jhipster.github.io/presentation/#/
Afinal, quais as vantagens do angular?
- Programação + declarativa, escrevendo muito
menos código!
- Arquitetura mvc em frontend! divisão de
responsabilidades
- data binding
- validações
- diretivas
- e muito mais!
Tecnologias server-side
-Maven
-spring (boot, data jpa, security, mvc
rest)
-liquibase
-jpa / hibernate
-métricas
-deploy na cloud!
-profiles (dev, test e prod)
ERP InCuca
O que já existe?
A base do sistema criado pelo Jhipster
integrada com o tema Inspinia
http://wrapbootstrap.com/preview/WB0R5L90S
ERP InCuca
O que vamos fazer?
Dividir em duplas e separar entidades
criar as entidades mais simples
sem #chave estrangeira
20 min
ERP InCuca
O que vamos fazer agora?
Dividir em duplas e entidades
criar as entidades mais complexas
com #chave estrangeira