PROJETO - DISCIPLINA PROGRAMAÇÃO PARA WEB III
Código: https://github.com/rhuanbarros/construfacil
8. DETALHAMENTO DO APLICATIVO Descreva todos os elementos e funções pretendidas para o aplicativo e sua interação com o usuário, ilustrando a maneira como deve ser utilizado e o seu potencial de aderência com relação à área temática escolhida. Devem ser descritos todos os seus conteúdos e os componentes de sua arquitetura. Se necessário utilize imagens, tabelas e fluxogramas. | ||||||||||||||||
História de uso do Proprietário/Arquiteto/Engenheiro: O usuário precisa comprar diversos materiais para sua obra que têm custo considerável, além disso, os valores variam muito de uma loja pra outra. Desse modo, ele faz a pesquisa indo nos lugares e pegando orçamento dos materiais pessoalmente, se deslocando de carro. Ou ele pode fazer por email aguardando a resposta dos funcionários. História de uso do Funcionário da loja de materias de construção: O usuário precisa atender diversos clientes no balcão da loja para apresentar orçamentos dos materiais necessários, e também acompanha o recebimento de e-mail no computador e os responde. Essa resposta com orçamento é enviada por meio de um arquivo pdf anexado ao email de resposta. | ||||||||||||||||
9. ARQUITETURA DA INFORMAÇÃO Apresente um diagrama que informe as situações de alteração de estados ou segmentação dos conteúdos do aplicativo, sejam eles páginas ou estados, a sua hierarquia de acessos, os seus atalhos principais, rótulos empregados para a sua navegação, telas de encerramento, pontuação ou configuração. | ||||||||||||||||
10. INTERFACE DE USUÁRIO Mostre a estrutura pretendida para a organização dos elementos visuais da interface do aplicativo ou jogo, informando a maneira como serão dispostos para o usuário. Apresente a relação de dimensionamento e organização pretendida para os personagens, cenários e displays. Inclua imagens das estruturas da interface (wireframes) e exemplos de interfaces gráficas com imagens das telas do aplicativo. | ||||||||||||||||
Protótipo iniciais - interface idealizada
| ||||||||||||||||
11. CHECKLIST DE FUNCIONALIDADES DO APLICATIVO Especifique cada uma das funcionalidades que serão implementadas no aplicativo. | ||||||||||||||||
| ||||||||||||||||
12. ÁUDIO E MÚSICA Descreva as características de áudio e música do aplicativo. | ||||||||||||||||
O aplicativo apresentará funcionalidades de áudio de modo permitir melhor usabilidade a usuários com dificuldades como pouca visão. Por isso, será utilizado “labels” descritivos em todos os elementos da interface de modo a permitir que aplicativos leitores de tela, como o TalkBack possam ler esses elementos corretamente. Referencia: https://material.io/guidelines/usability/accessibility.html#accessibility-color-contrast | ||||||||||||||||
13. ESTILO E REFERÊNCIAS Nesta seção, inclua imagens de referências de outros aplicativos que ilustrem a abordagem pretendida para os seus elementos gráficos de maneira que tenham coerência interna em termos de cores, tipografia, organização espacial e outros elementos gráficos. | ||||||||||||||||
A referência de estilo para este projeto será o Material Design do Google (https://material.io/). O Material Design é um framework de estilo, design e usabilidade para ser utilizado em aplicativos de celular e páginas de internet. Ele disponibiliza componentes reutilizáveis de estilo próprio do Material Design de modo a manter a coerência visual entre os elementos. Além disso, apresenta uma série de boas práticas em diagramação de interfaces e também dicas para tornar o aplicativo mais acessível a pessoas com dificuldades motoras ou visuais. | ||||||||||||||||
14. FERRAMENTAS, PLUG-INS E DEPENDÊNCIAS USADOS NO DESENVOLVIMENTO DO APLICATIVO Descreva todas as ferramentas, plug-ins e dependências a serem utilizadas no aplicativo. | ||||||||||||||||
Estudo inicial de ferramentas disponíveis Foi realizada extensa pesquisa sobre novas tecnologias disponíveis no mercado para desenvolvimento rápido de aplicativos para celular. Essa pesquisa focou na busca de tecnologias em consonância com as Metodologias Ágeis e a metodologia Lean Startup. Foram pesquisadas tecnologias de back-end tradicionais, como Microsoft .Net, Java, Python, PHP e Ruby on Rails. Dentro da tecnologia Java, foram analisados diversos frameworks web como Spring, Groovy, Play Framework e JHipster. A partir dessa fase entrei em contato com novas ferramentas e plataformas de desenvolvimento de aplicativos móvel chamadas de “Mobile Backend As A Service” - mBaas. Essa tecnologia não tem ainda muita literatura disponível, nem mesmo em inglês, por se tratar realmente de tecnologia muito nova e pouco utilizada. Entretanto, são facilmente encontrados diversos artigos sobre o assunto em fontes confiáveis de consulta. Mobile Backend As A Service é uma plataforma na Nuvem a qual provê um modelo de desenvolvimento baseado na disponibilização pré-pronta de funcionalidade básicas essenciais a maioria dos aplicativos móveis. As funcionalidades pré-prontas disponíveis são, por exemplo, login integrado a redes sociais, banco de dados com acesso Restful, push notifications e relatórios de análise de acesso. Os principais players nessa área são o Google Firebase, o Amazon AWS Mobile, o Microsoft Azure, Parse Open Source, Apache Usergrid e RedHat Mobile App Platform. Plataforma escolhida A plataforma de desenvolvimento escolhida foi o mBaas do Google Firebase devido a grande documentação de sua plataforma, inclusive em português, e a possibilidade de usar a plataforma gratuitamente. Essa plataforma apresenta uma biblioteca com diversas classes prontas para realizar a conexão com todos os recursos disponíveis, como o banco de dados e a plataforma de autenticação com redes sociais. Desse modo, para desenvolver este projeto com banco de dados e login na nuvem, foi necessário simplesmente configurar o aplicativo na plataforma e fazer requisições REST ao banco de dados. Isso permitiu manter o foco em programação Java Android para poder desenvolver todas as funcionalidades essenciais. O banco de dados fornecidos apresenta endpoints REST de modo que com uma linha de código é possível inserir dados no banco de dados. Além disso, com pouco código foi possível implementar o banco de dados real time, de modo que qualquer alteração é propagada automaticamente para todos os dispositivos conectados. Resumo das dependências
| ||||||||||||||||
15. IDEIAS ADICIONAIS E OBSERVAÇÕES Inclua aqui outras observações quanto ao projeto. Quais os diferenciais pensados para o seu app que outros semelhantes não possuem. | ||||||||||||||||
Este aplicativo se trata de um MVP (Produto Mínimo Viável) originado de um projeto maior, com mais funcionalidade, que juntos agregarão um valor muito maior ao software. O produto com todas as funcionalidades completas incluiria funcionalidades de recebimento dos orçamentos no próprio aplicativo, comparação de preços automáticas, compra por meio de cartão de crédito ou depósito, “compra 1 click” que permitiria a compra de diversos lojas diferentes com o melhor preço em cada. Acompanhamento de entrega dos materiais pelo aplicativo e diversas outras. Entretanto, para iniciar o projeto, foi escolhido desenvolver funcionalidades mínimas que permitissem o início dos testes do aplicativo o mais rápido possível. Mesmo com as funcionalidades mínimas, o aplicativo já agrega valor aos gestores de construção, uma vez que ele permite o envio da lista de materiais para diversas lojas de uma vez. Outra funcionalidade simples, mas importante, é a descrição correta do material. Isso porque é muito comum os engenheiros ou mestres de obras enviarem lista com itens significado redundante. Ou seja, na loja, um item escrito na lista pode ser atendido por 2 materiais diferentes. Escrevendo a lista pelo aplicativo, isso não será um problema, pois o aplicativo contém uma lista de 30 mil itens de modo a permitir a escolha exata do item necessário. A lista de materiais que compõe este aplicativo foi disponibilizada por engenheiro da Cype Engenieros S/A no grupo de discussão de engenharia cívil para consulta pelos usuários. Link https://groups.google.com/forum/#!msg/ClubedosEngenheirosCivis/czdyn1qLDcI/asVb6zv3YI0J. |
ANEXO I
Detalhamento dos Temas
As propostas de projetos devem estar enquadradas em um dos temas a seguir descritos. Ressalte-se que as descrições aqui apresentadas são apenas de caráter exemplificativo e não restringem a proposição de projetos que não estejam necessariamente nelas inclusos.
a) Educação / Ensino: enquadram-se neste tema aplicativos que abordem processos de socialização e aprendizagem relacionados ao desenvolvimento intelectual e ético de uma pessoa, desde os níveis infantil e fundamental até os níveis superior e de pós-graduação. Ou seja, não há restrições de faixas etárias, áreas do conhecimento ou conteúdos abordados pelas propostas. Os aplicativos podem ter foco tanto no educando como no educador. Como referência pode-se dar ênfase em educação financeira, cultura maker e hacker no ambiente escolar, educação empreendedora, entre outros.
b) Saúde: enquadram-se neste tema aplicativos que abordem assuntos relacionados à prevenção de doenças, bem estar, controle da saúde, saúde coletiva, saúde da família, monitoramento de pacientes, apoio ao trabalho dos profissionais e/ou instituições de saúde, dentre outros.
c) Mobilidade Urbana: enquadram-se neste tema aplicativos que abordem assuntos relacionados a políticas de transporte e circulação que visam à melhoria da acessibilidade e mobilidade das pessoas e cargas no espaço urbano. Como referência, pode-se propor a priorização dos modais de transporte coletivo e/ou não motorizados de maneira efetiva, socialmente inclusiva e ecologicamente sustentável ou ainda trabalhar com sugestões de melhores rotas a partir de dados de acidentes e incidentes de trânsito.
d) Segurança Pública: enquadram-se aplicativos relacionados a políticas públicas de segurança e que estimulem a parceria entre órgãos do poder público e sociedade civil na luta por segurança e qualidade de vida dos cidadãos brasileiros.
e) Acessibilidade / Direitos Humanos: enquadram-se nesse tema aplicativos que facilitem a promoção e defesa dos direitos humanos de crianças e adolescentes, pessoas com deficiência, população em situação de rua, pessoas idosas, população LGBT, pessoas ameaçadas de morte, pessoas em situação de trabalho escravo e demais públicos em situação de vulnerabilidade. Como referência, podem ser utilizadas as diretrizes do e-MAG (Modelo de Acessibilidade em Governo Eletrônico).
f) Aferição da qualidade de serviços e políticas públicas: enquadram-se nesse tema aplicativos para avaliar os serviços públicos e políticas públicas por meio de pesquisa de satisfação, com identificação de pontos fracos e de oportunidades de mudança. Como referência, podem ser utilizadas ferramentas no âmbito do Programa Gespública (http://www.gespublica.gov.br/), como o Instrumento Padrão de Pesquisa e Satisfação e a Autoavaliação da gestão pública.
g) Assistência Social: enquadram-se nesse tema aplicativos que visam à garantia do acesso a recursos mínimos e provimento de condições para atender contingências sociais e promover a universalização dos direitos sociais.
h) Cultura: enquadram-se nesse tema aplicativos relacionados à promoção de manifestações artísticas, sociais, linguísticas e comportamentais do povo brasileiro.
i) Direitos e defesa do consumidor: enquadram-se neste tema aplicativos que abordem assuntos relacionados ao Código de Proteção e Defesa do Consumidor (Lei nº 8.078, de 11 de setembro de 1990) ou normas específicas como o Regulamento Geral de Direitos do Consumidor de Serviços de Telecomunicações (Resolução Anatel nº 632, de 7 de março de 2014).
j) Melhoria da gestão no setor público: enquadram-se neste tema aplicativos que facilitem a comunicação e colaboração interna entre servidores ou que promovam a solicitação de operações da administração pública por meio de acesso móvel (por exemplo: solicitação de segunda via de contracheques, pedido de férias, etc).
k) Turismo e Grandes Eventos: enquadram-se neste tema aplicativos que abordem assuntos relacionados os diferentes setores da cadeia produtiva da atividade – Marketing e Serviços Turísticos, Agenciamento de Viagens, Transporte, Hotelaria, Gastronomia, Entretenimento e Lazer, Eventos e Conferências, Atrações Culturais e Ecológicas.
l) Tratamento de indicadores de políticas públicas (dados abertos): enquadram-se neste tema aplicativos desenvolvidos a partir do tratamento de dados em formato aberto que estejam relacionados à análise estatística de dados, correlação de indicadores, análise de tendência, visualização de dados, dentre outros. A título de exemplo, podem ser utilizados o Portal Brasileiro de Dados Abertos disponível em http://dados.gov.br/, o Portal de Dados abertos do Ministério das Comunicações (http://www.comunicacoes.gov.br/dados), bem como dados disponibilizados em sítios de outros órgãos da Administração Pública.
m) Participação Social: enquadram-se neste tema aplicativos que promovam a interação entre a sociedade e a Administração Pública nas diversas etapas do ciclo de política pública e prestação de serviços.
n) Trabalho e Renda: enquadram-se neste tema aplicativos que facilitassem o aceso às informações de intermediação de emprego (SINE - Sistema Nacional de Emprego), às ofertas das instituições de ensino técnico ou cursos de formação profissional (Sistema S ou Pronatec, por exemplo), assim como outras ações públicas ou privadas que oportunizem o acesso ao trabalho e à renda.
o) Meio ambiente: enquadram-se nesse tema aplicativos que promovam a preservação de ecossistemas e da vida. Como referência, pode-se trabalhar aplicativos que facilitam a reutilização e a reciclagem de resíduos sólidos.


















