Desenvolvimento de uma plataforma de bookmarking social com Django e TDD
1. DESENVOLVIMENTO DE UMA PLATAFORMA DE
BOOKMARKING SOCIAL COM DJANGO E TDD
Trabalho de Conclusão de Curso
Tecnologia em Análise e Desenvolvimento de Sistemas
Universidade Tecnológica Federal do Paraná – Campus Medianeira
Orientador: Prof. M.Sc. Ricardo Sobjak
Rodrigo de Oliveira Fernandes
3. Objetivo Geral:
●
Elaborar uma plataforma de bookmarking social utilizando o framework
Django e o TDD
Objetivos Específicos:
●
Pesquisa sobre o bookmarking social;
●
Apresentação das tecnologias e metodologias utilizadas;
●
Exposição dos resultados obtidos.
OBJETIVOS
4. A WEB E O HIPERTEXTO
REFERENCIAL TEÓRICO
●
A WWW é a viabilização da
ideia do hipertexto
●
Tecnologias da WWW
●
Servidor Web
●
Navegador
●
HTML
●
HTTP
●
URLs
●
Expansão e popularização
da Web
7. WEB SOCIAL
REFERENCIAL TEÓRICO
●
A Web como espaço virtual para
interação social
●
Web 2.0
●
A Web como plataforma
●
O usuário controla os dados
●
Serviços, não software “empacotado”
●
Arquitetura da participação
●
Eficiência visando a escalabilidade
●
Fonte e transformação de dados “remixáveis”
●
Software em mais de um dispositivo
●
Utilização da inteligência coletiva
9. ●
Serviços online para armazenamento de links
●
Compartilhamento de informações entre usuários
●
Tagging e Folksonomia
SOCIAL BOOKMARKING
REFERENCIAL TEÓRICO
10. SOCIAL BOOKMARKING
REFERENCIAL TEÓRICO
Recursos comuns:
●
Armazenamento de links online
●
Possibilidade de acesso a coleção de links de outros usuários
●
Filtragem de links por tag, popularidade, ou mais recentes
●
Atribuição livre de tags aos links pelos usuários para facilitar a
identificação do conteúdo
●
Indicação de relevância de um link a partir da sua popularidade
entre os usuários
12. TEST-DRIVEN DEVELOPMENT (TDD)
REFERENCIAL TEÓRICO
Desenvolvimento Guiado por Testes
●
Testes Primeiro
●
Testes como especificação
do sistema
●
Testes conduzem a
codificação e a arquitetura
●
Código “monitorado”
13. HISTÓRIAS DE USUÁRIO
REFERENCIAL TEÓRICO
Uma História de Usuário é uma breve declaração que
descreve uma funcionalidade do sistema.
14. ●
Framework Web desenvolvido com a linguagem Python
●
“Baterias incluídas”
●
Promove o desenvolvimento rápido e modular de sistemas Web
●
Apps plugáveis e integração com o ecossistema Python
FRAMEWORK DJANGO
REFERENCIAL TEÓRICO
16. 1.Definição de funcionalidades
2.Preparação para o desenvolvimento do projeto Django
3.Ciclo de desenvolvimento guiado por testes
4.Inserção de dados na interface de administração do Django
5.Verificação das funcionalidades definidas
PROCESSO DE DESENVOLVIMENTO
MATERIAIS E MÉTODOS
19. ●
Criação do ambiente Python com Virtualenv:
$ virtualenv –python=python3 PY3ENVTD
●
Ativação do ambiente Python:
$ source ./PY3ENVTD/bin/activate
●
Instalação do Django no ambiente:
$ pip install django
PREPARAÇÃO PARA O DESENVOLVIMENTO
DO PROJETO DJANGO
20. CRIAÇÃO DO PROJETO DJANGO
$ djangoadmin createproject prjfinal
PREPARAÇÃO PARA O DESENVOLVIMENTO DO PROJETO DJANGO
23. CRIAÇÃO DE TESTE PARA
“VIEWS”
●
O teste verifica se a partir de
uma requisição em determinada
URL, é emitido um status de
sucesso na resposta (código 200
HTTP)
●
Em seguida verifica se a função
associada está utilizando o
template adequado
25. EDIÇÃO DO ARQUIVO
URLS.PY
●
O arquivo urls.py é responsável
por indicar a função “view”
associada a uma requisição em
uma determinada URL
●
A função “view” deverá conter os
dados que serão exibidos ao
usuário
CÓDIGO PARA O
TESTE PASSAR
30. TESTES PARA
VERIFICAÇÃO DE DADOS
DE CONTEXTO
●
A preparação simula a inserção
de dados
●
Os dados ficarão disponíveis
durante a execução dos testes
31. TESTES PARA
VERIFICAÇÃO DE DADOS
DE CONTEXTO
●
Testes que verificam se cada
resposta recebida contém os
dados de contexto conforme o
esperado
33. EDIÇÃO DO ARQUIVO
VIEWS.PY
CÓDIGO PARA O
TESTE PASSAR
●
O código foi alterado para obter
os dados utilizando as
QuerySets do Django
●
Cada QuerySet foi armazenada
em um dicionário de dados, que
é submetido com a resposta e
pode ser utilizado nos templates
46. CONCLUSÃO
A pesquisa favoreceu a compreensão do funcionamento
dos sistemas de bookmarking social
Histórias de usuário e prototipagem de UI para a
determinação das funcionalidades
Desenvolvimento rápido e confiável com o framework
Django
Vantagens do TDD