Um detalhamento sobre como este site foi feito

21 de Setembro de 2017 às 09:23


Hoje quero compartilhar fontes de estudo que me foram muito úteis durante o projeto da versão 1 deste site. Resumidamente durante este primeiro projeto feito com Django fixei conhecimento no framework, aprendi a usar ambientes virtuais em python, fazer deploy no heroku, entre outras coisas.

 

Detalhes técnicos sobre o projeto:

Editor de textos: Visual Studio Code

Linguagem: Python, HTML, CSS e Javascript

Frameworks: Django e Bootstrap

Máquina: Notebook LG com sistemas operacionais Windows 10 e Linux Min 18 em dual-boot, processador Core i3, 4 GB de RAM, HD de 500 GB

Layout desenvolvido por: Priscila Siqueira

 

Este site surgiu diante de uma grande necessidade: compartilhar um pouco da minha jornada rumo a ser um profissional melhor. Quando decidi tirar do papel tal projeto precisava de uma tecnologia que me permitisse ser produtivo sem ter que necessariamente comprar um novo computador. Após uma breve conversa com um colega de pós-graduação fui apresentado a linguagem python e ao framework Django. Na medida que fui estudando-o notei que ele era a solução ideal para realizar este projeto pessoal pois além de não necessitar de uma máquina robusta, os padrões impostos pelo framework para desenvolver soluções web me permitiu além de aprender uma nova linguagem,  fixar conceitos extremamente importantes para alguém que almeja ser desenvolvedor web. O mais emocionante nessa história: O site ficou pronto (somando deploy no heroku) em uma semana (considerando que eu era um iniciante na tecnologia, gastar tão pouco tempo é algo incrível).

 

Vide imagens da área administrativa do site:

dashboard

 

Após fazer o ótimo tutorial  do site djangogirls, senti necessidade de preencher lacunas no meu aprendizado para ganhar ainda mais confiança com python e django. Recomendo a quem tem o mesmo interesse fazer o curso da udemy disponível no link abaixo pois tudo que nunca consegui compreender estudando sozinho este curso conseguiu me esclarecer. Material da melhor qualidade e grátis:

https://www.udemy.com/python-3-na-web-com-django-basico-intermediario/learn/v4/overview

Não me propus a fazer um tutorial pois há muito material de qualidade na internet. O cerne deste texto são os tópicos abaixo que dizem respeito as lições que aprendi durante este projeto (A leitura após eles é opcional):

  • Lógica de programação é importante, mas apenas estudando genuinamente desenvolvimento web realmente você será um desenvolvedor web. A lógica de programação não varia entre desktop, web e mobile mas cada ambiente possui conceitos de usabilidade próprios que precisam ser levados em conta;
  • Quebre seu projeto em etapas. Este site foi para o ar com o mínimo de funcionalidades e está em processo de evolução constante. Me comprometo a sempre ter uma postagem a cada recurso novo adicionado;
  • Cursos online são o melhor atalho para um aprendizado rápido e eficiente. Com uma semana de curso entendi conceitos que estudei sozinho por meses sem obter a real clareza deles;
  • Use o projeto do seu sistema como objeto de estudo. Não se atenha apenas ler material na internet pois ser desenvolvedor é um ofício que exige treino para fixar uma nova habilidade. Quebrando seu projeto em etapas ele começará pequeno mas com o tempo e estudo você vai conseguir aprimorá-lo e consequentemente ter algo maior;
  • Ambientes virtuais são seus melhores amigos no desenvolvimento utilizando python;
  • Quanto ao uso do Django, consegui ter uma ótima experiência utilizando tanto Windows 10, quanto Linux Mint 18. Escolha o sistema operacional que lhe dá menos dor de cabeça quanto a configuração de ambiente e uso no dia a dia;
  • Django é um framework amplo e não se aprende do dia para noite. Cresça seu conhecimento junto com seus projetos pessoais em um ritmo que lhe permita aprender de fato;
  • Testes unitários são vida....Aprenda e aplique em TODOS projetos;
  • Não ignore o processo de deploy pois ele é a etapa mais importante porque é o momento que o sistema web ganha vida de fato. Caso procrastine para o final esta etapa há uma grande chance de sua entrega ser adiada;

Abaixo vou listar as fontes complementares ao curso que me ajudaram a fazer este site:

  1. O uso de ambientes virtuais é muito bem explicado neste link:

Link 1

Link 2

  1. Este conteúdo não existia quando criei o site, mas na primeira revisão de minha implementação foi de extrema valia e não poderia deixar de citá-lo. Melhor tutorial escrito de Django para iniciantes que encontrei:

Guia para iniciantes parte 1

Guia para iniciantes parte 2

Guia para iniciantes parte 3

  1. Django debug toolbar. Ferramenta fundamental para verificar funcinonamento da aplicação. Consegui otimizar meu site analisando os logs gerados por esta ferramenta:

https://django-debug-toolbar.readthedocs.io/en/stable/installation.html

  1. Debug Django utilizando  pdb. Admito que ainda não consegui fazer o debug django do visual studio code funcionar (assim que conseguir, compartilho), mas o pdb conseguiu me atender bem até aqui:

https://pypi.python.org/pypi/django-pdb

  1. Todo site/blog com gestão de conteúdo carece de um editor de textos ricos. Este plugin me atendeu 110% nesta missão. Vide link e imagens:

http://www.techinfected.net/2016/10/install-wysiwyg-editor-in-django-project.html

ckeditor

Painel para escrever postagens utilizando ckeditor.

 

ckeditor 2

Painel para escrever postagens maximizado

  1. Plugin django que implementa recurso de Tag's:

Taggit

  1. Cada texto aqui postado permite compartilhamento em redes sociais. Vide link que me ajudou a implementar este recurso chamado Social Sharing:

https://djangosnippets.org/snippets/2323/

  1. Entender o funcionamento interno do framework é fundamental e este artigo me ajudou muito na compreensão sobre autenticação de usuário usando o model padrão do django:

Uso do model padrão de usuários do Django

  1. Processo de deploy foi crítico tomando bastante tempo. Seguem fontes que me auxiliaram neste processo:

Documentação heroku

Link adicional 1

Link adicional 2

Link adicional 3

Link adicional 4

Link adicional 5

  1. Conhecer linux é fundamental. Vide comandos executados no servidor onde se encontra hospedado este site. Certamente você vai precisar de pelo menos um deles;

ls -l -> Lista diretórios e arquivos na pasta

cd ~ -> retorna um nível na arvore de diretórios (idêntico ao cd .. do windows)

mkdir NOMEDIRETORIOS -> cria diretórios

rm -rf NOMEDIRETORIO/NOMEARQUIVO -> força exclusão de arquivos

  1. Testes unitários:  Documentação oficial do Django 
  2. A seção a direita "Quem Sou"  onde está um texto sobre mim e o widget do twitter utiliza templatetags e através deste link consegui utilizar este ótimo recurso do Django:Link 1

Link 2

Espero ter transmitido algo a você caro leitor e quero muito ouvir sua opinião nos comentários para melhorar ainda mais o conteúdo disponibilizado neste site...Estou a disposição também para ajudar em seus estudos django ou até mesmo fechar parcerias profissionais. Até a próxima....



Compartilhe:

Comentários
Fazer comentário

Paulo disse há 4 semanas, 1 dia atrás:
Boa! é um caminho interessante para seguir no caminho como provedor de soluções Web.

Obrigado pelas dicas.....


Anderson Assis disse há 4 semanas, 1 dia atrás:
Curti muito o texto.
Esta bem documentado com bons links de referência. Aproveitei a dica e já me inscrevi no curso de Python e Django indicado.


Uashington disse há 3 semanas, 6 dias atrás:
Muito bom o material



Quem Sou

Desenvolvedor, baixista, desenhista nas horas vagas e casado com Priscila Siqueira (ótima webdesign diga-se de passagem).  Competênc...

Leia mais...