27
<Coding Dojo/>

InCuca - Coding dojo - ERP Especificação

  • Upload
    incuca

  • View
    206

  • Download
    3

Embed Size (px)

Citation preview

<Coding Dojo/>

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

Qual a data do próximo Dojo?

Próxima...2min

Retrospectiva sobre o último Dojo!

...anterior30min

:D o que correu bem?

:) o que era interessante?

:( o que foi frustrante?

O QUE SERÁ FEITO HOJE?

<Protocolo/>10min

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/#/

Tecnologias client-side

-Yeoman

-Grunt

-bower

- Angularjs!

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)

gerador jhipster

-entidades

-serviços

-deployment

-atualização constante do gerador

JHipster em funcionamento

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

Código50min

Comitar criações

github.com

-Branches separados

-Nome: entidade

Master: InCuca

10 min

Intervalo10min

ERP InCuca

O que vamos fazer agora?

Dividir em duplas e entidades

criar as entidades mais complexas

com #chave estrangeira

+ Código50min

Conclusões!!!

<Até a próxima/>

http://incuca.com.br