Skip to content

Instantly share code, notes, and snippets.

@arthurfranca
Forked from dodecaphonic/proposta.md
Created May 11, 2013 14:04
Show Gist options
  • Save arthurfranca/5560048 to your computer and use it in GitHub Desktop.
Save arthurfranca/5560048 to your computer and use it in GitHub Desktop.

Proposta

Você deverá criar um pequeno sistema georreferenciado para visualização e cadastramento de ocorrências policiais. Estas deverão ser categorizadas conforme indicação abaixo e receberão iconografia que permita ao Usuário distinguir visualmente sua natureza.

Interface Principal

A visão inicial do sistema oferecerá dois painéis: à direita, um mapa da cidade do Rio de Janeiro em nível de zoom que abranja todo o município; à esquerda, à guisa de sidebar, uma lista de ocorrências pertinentes à área de visualização atual.

À medida que o Usuário navegar pela interface de mapa, a lista à esquerda será atualizada para conter apenas as ocorrências na nova área de visualização (isto é, se mais próximo da escala mínima, um número menor de ocorrências surgirá; se mais afastado, maior.) Estas deverão ser ordenadas por sua data e hora de registro.

Cadastramento de Ocorrência

O Usuário poderá a qualquer momento escolher um ponto do mapa para registrar uma nova ocorrência. Esta deverá contemplar os seguintes aspectos:

  • Tipo
    • Acidente de Trânsito Sem Vítima
    • Furto
    • Pessoa Desaparecida
  • Data do Fato
  • Hora Aproximada (em Janelas de 1h)
    • De 08:00 às 08:59
    • De 09:00 às 09:59
    • ...
  • Declarante
    • Nome
    • Endereço
      • Rua, Av., Estrada...
      • Número
      • Complemento
      • CEP
    • Email
    • Naturalidade
    • Telefone
  • Detalhes (campo textual)

Ao cadastrar uma nova ocorrência, esta deverá surgir, naturalmente, na listagem na sidebar à esquerda na primeira posição.

Visualização de Ocorrência

Ao clicar em qualquer uma das ocorrências na sidebar à esquerda, um popup indicando o tipo, data, hora aproximada e nome do declarante deverá surgir no mapa. O mesmo vale para os cliques diretamente nos pontos indicando os locais de ocorrência.

Requisitos

  • Banco de dados espacial (preferencialmente spatialite, para facilitar a avaliação)
  • Dados georreferenciados no datum WGS84, sistema de coordenadas geográfico
  • Mapas via Leaflet.js
  • Rails 3.2
  • Seed com várias ocorrências de cada tipo distribuidas aleatoriamente na bounding box do município do Rio de Janeiro

Pontos de Bônus

  • Testes unitários (pontos de bônus se abrangerem também o código em JavaScript)

A seu critério:

  • Uso de biblioteca MV* (Backbone, Angular.JS, Ember, SproutCore, Cappuccino, Spine, ExtJS...)
  • Biblioteca de testes
  • Fluxos de interface, iconografia, tipografia, cores

"Topei, e aí?"

Se você sentiu que consegue fazer, envie um email para vitor@prodec.com.br indicando seu aceite. Você terá cinco dias úteis a partir da manifestação de interesse para enviar sua solução com um link para um repositório público no GitHub ou bitbucket. Sua solução deverá acompanhar um README indicando quaisquer passos necessários para fazê-la rodar (dependências de sistema, setup de BD).

Após a entrega, marcaremos uma conversa com você para discutir sua visão do problema e dar feedback mesmo que você não seja nossa escolha (caso seja de seu interesse).

Boa sorte!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment