Fase I - Estudo


Título da Idéia

Biblioteca de Talentos

Objetivos

Desenvolver um aplicativo que permita associados emprestem e peguem livros emprestados, de outros associados ou da biblioteca.


Conceito


As pessoas costumam adquirir livros para leitura nos mais diversos temas. Estes livros após a leitura ficam dispostos em estantes, prateleiras ou móveis com acesso exclusivo aos moradores da casa. Por outro lado, várias pessoas precisam de livros e não tem condições para comprá-los, tempo para adquiri-los ou outros motivos que impedem que tenham acesso a eles.

Se imaginarmos uma aplicação quer permita reunir livros num acervo montado a partir de doações de associados e colaboradores, a amplitude de utilização dos livros se torna muito mais extensa.

Dessa forma, proposta de uma Biblioteca que possa receber doações de livros que seriam disponibilizados para a comunidade corporativa ou mesmo para a comunidade externa passa a ser muito interessante.

Este conceito de colaboração muito comum hoje em dia, pode ser aplicado e transformado numa ferramenta que auxilie as pessoas na sua evolução.


Enquadramento

Desenvolvimento



Desafio tecnológico

  • Aprendizado de Python/Flask
  • Identificação de livros via código isbn



Características 

A Biblioteca de Talentos é uma aplicação web e mobile voltada para controle, doação e empréstimo de livros que permite:

  • Cadastrar todos os livros que o usuário possui ou que ele deseja adquirir
  • Aos usuários Incluir organizações que permitirão o movimento de livros (criar grupos)
  • Solicitar os livros via sistema e aprovação/negação pelo dono
  • Pontuar de acordo com os empréstimos realizados de forma a ser qualificado publicamente. (Gamificar a interação entre usuários)
  • Gerenciar os empréstimos e devoluções notificando prazos
  • Solicitar feedbacks após o empréstimo e/ou devolução
  • Solicitar os livros do próprio sistema para aprovação de mediadores (membros da equipe enquanto protótipo)
  • Serviço para categorização de livros: gênero e finalidade
  • Uma aplicação que comunica direto com a plataforma para checkout de livros da biblioteca (toten para leitura de qrcode)
  • Serviço para cadastro de usuário na plataforma
  • Serviço que disponibiliza o rankeamento entre os usuários
  • Wishlist para usuários e gestores para otimização do acervo
  • Leitor de ISBN ( qrcode )
  • Gamificar a interação do usuário com a própria plataforma (engajamento):
  • quantidade de empréstimos, cumprimento de cronogramas etc..

Todo o seu back-end é feito em Python, que foi escolhido pela sua facilidade de aprendizado, e claro exatamente por esse motivo Python traz ao código fonte um legibilidade incrível, possibilitando os colaboradores estarem aptos a colaborar no desenvolvimento em pouco tempo, o que encurta o tempo necessário para o desenvolvimento.

Juntamente com o Python, foi utilizado o micro Framework web Flask, que mantém a facilidade trazida pelo Python mas tem como sua principal característica, trazer o minimo possível de ferramentas, e você vai "conectando" novas quando necessário, deixando assim o desenvolvimento o mais enxuto possível, dentre os módulos Flask, foram utilizados os seguintes:

  • Flask-HTTPAuth - Utilizado para a autenticação e controle de acesso dos usuários.
  • Flask-Mail - Utilizado para envio de notificações por exemplo, do fim do prazo de empréstimos, de atrasos do livro, de pedidos de empréstimos realizados, dentre vários outros.
  • Flask-SQLAchemy - Que nos proporciona suporte ao SQLAlchemy, que é uma biblioteca de mapeamento objeto-relacional SQL em código aberto desenvolvido para a linguagem de programação Python, que tem seu foco na eficiência e alta performance de acesso a banco de dados.
  • Flask-Migrate - Possibilita todo o controle do banco de dados via linha de comando
  • Flask-Script - Utilizado para adicionar comandos que executam scripts, tornando o trabalho mais simples, por exemplo a criação do primeiro administrador do sistema, etc.
  • Flask-RESTful - É a extensão que nos proporciona o suporte a criação de REST APIs, com sua simplicidade e leveza encoraja boas práticas e mantém o minimalismo caracteristico do Python/Flask.

Estudo Dirigido


Todo material de estudo sobre as ferramentas utilizadas no back-end pode ser encontrado na wiki do projeto

Principais temas de estudo:

  • A Linguagem Python
  • O Flask, um micro framework Python
  • REST APIs
  • Criação de APIs RESTful utilizando Flask


Fase II - Ensino



Conteúdo

Para compreender a forma como essa API funciona e começar a contribuir com o desenvolvimento, os seguintes materiais podem ser úteis:


Apresentação

Apresente ao grupo (reunião, EAD, Blog, ...)
Publique aqui


Fase III - Exemplo de Caso de Negócio


Benefício para a Algar Telecom

  • Maior interação entre associados
  • Incentivo a leitura
  • Maior produtividade causada pelo aumento de interação entre associados

Benefícios para o cliente

  • A Possibilidade de compartilhar livros que estão esquecidos em casa
  • A Possibilidade de ler livros que talvez nunca seriam lidos talvez por falta de tempo de procura-lo, talvez por falta de condições de te-lo
  • Um maior network entre seus colegas de trabalho


Direcionadores chave

  • Aplicação Mobile
  • Aplicação Web
  • Compartilhamento de livros
  • Desenvolvimento Pessoal

Elemento inovador

Utilizar uma aplicação para controlar uma biblioteca pessoal e fazer com que seus livros não sejam esquecidos e que eles possam participar do desenvolvimento de outras pessoas

Possíveis modelos de negócios

    Descrever em tópicos os possíveis modelos de negócios

Business Case

    Descrever um exemplo de négócio que permita avaliar a solução comercialmente


Fase IV - Protótipo orientado ao Negócio


Escopo


Explique o escopo deste protótipo


Metodologia


Qual metodologia ou método utilizado?



Limitações


Informe sobre as limitações


PoC


Desenvolva um PoC (Proof of Concept)


Detalhamento Técnico


  • Backend:
    • linguagem python
    • banco relacional postgre
    • API restful (http ou https)
    • JSON
  • Infra
    • Amazon EC2 ou S3
    • outros (host1plus, locaweb, heroku)
    • Versionamento GIT (bitbucket)
  • Frontend web
    • AngularJS (bootstrap)
    • ou React
  • Frontend mobile
    • React
    • phonegap





Planejamento


Cronograma Macro


Histórico


Pesquisadores

  • Gustavo Henrique Garcia Silva
  • Júlia Rizza de Souza
  • Luiz Cláudio Theodoro
  • Kethllen Andrey Santos
  • Marc Sué Pires Morais Junior
  • Pedro Henrique da Costa Avelar
  • Matheus Cunha Reis
  • Leandro de Medeiros Ferreira
  • Lucas Correia Bernardes
  • Ronistone Gonçalces do Reis Junior