Pitch: Camisetas de programação - Site open source!
:shirt: Eu amo estampas!
Eu gosto muito de representar nas camisetas minhas paixões como carros, aviões e programação! Se voce também é um desses acesse nosso site e o github open source!
Atualmente sou programador de Java, C# e Nodejs e estou querendo aprender cada vez mais Python/Django então fiz um ecomerce do zero! Segue detalhes do projeto abaixo
Site: https://www.likeestampa.com.br/ Codigo: https://github.com/leonardocintra/likeestampa
Modelos :shirt:
Tecidos 100% algodão Varias cores, varias categorias (programação, esporte, filmes, etc)
Também temos canecas e moletons
Programação: https://www.likeestampa.com.br/catalogo/categoria/linguagens-programacao/
O site
Hospedado no PythonAnywhere que custa U$ 5.00 por mes que sai em torno de 25 a 30 reais por mes conforme o dolar vai e vem
Feito em Django (v4) que é um dos frameworks mais conhecidos para quem trabalha com Python
Recursos
- Envio de emais com Mailgun
- Logs / eventos no Sentry
- Pagamento usando API Mercado Pago
- Banco de dados MySQL (produção) e Postgress (dev/test)
- Docker e Docker Compose
- Cache
- Explicação: O cacheamento deve ser usado para aliviar os request/selects desnecessários no banco. Então nesse projeto a tabela de categorias será sempre os mesmos dados. Para cada cliente interagindo eu não preciso ir no banco e buscar as categorias (esporte, programaçao, filmes, etc). Nas categorias o que muda é que eu ativo e desativo, o nome delas e o icone do fontawesome. E para isso configura-se o tempo de cacheamento, nesse caso eu deixo 2 minutos para tudo. Isso se aplica também ao produtos (camisetas), etc.
- Imagens ficam no Cloudinary
- Explicação: Em vez de salvar os arquivos fisicamente junto com o codigo do projeto no servidor do site eu separei, se não o espaço em disco "enche" rapidinho. So que temos um problema, o Cloudinary é caro e os recursos free ja estou sentido os limites dele. O proximo passo que irei fazer é migrar pro Imagekit.io (esse cara achei naquele video de 628 recuros free no video do Filipe Deschamps)
- Telegram para mensagens de logs
- Frontend com Bootstrap v5
- Icones do Bootstrap e Fontawesome Free
- Dimona
- Explicação: manos.... os cara são basicamente API de camisetas! hahah, você so precisa mandar os dados na API que eles mesmo estampam e enviam pro cliente. Tem vários recursos mais avançados que podem integrar como NF-e, tracking (notificação da onde esta o produto), etc!
Ah e para termos sempre os codigos testados e validados usamos
- circleci CI
- Codacy
- Sonnar Cloud
Fluxo
Metas
Temos alguns bugs e melhorias no "issues" para serem feitas A ideia que eu pretendo fazer com o site é transforma - lo num Multi Tenanc ou seja, que mais pessoas possam ter sua loja facilmente ate chegamos a criar um parrudo marketplace para qualquer tipo de produto, talvez quem sabe um novo Mercado Livre hehe
Para cada tecnologia que quero testar eu implemento e faço funcionar em tempo real, uma das coisas que quero mudar ai é implementar o rabbitMQ (mensageria) e um worker ficaria lendo as filas dos pagamentos para processar.
Qualquer ideia é muito bem vinda galera! E também se tiverem sugestão de camisetas podem mandar, de preferencia em formato svg!
Abraços!
Parabéns pelo projeto, é inspirador. Eu estou ensaiando iniciar o meu, não gostaria de codar, pois sou melhor com projetos e não encontrei um parceiro, mas acredito que precisarei ir devagar e dar vida ao meu desejo. Obrigado por compartilhar.
Sensacional Leonardo, parabéns pelo projeto e por vir aqui publicar os detalhes técnicos no TabNews!
Ter esse tipo de conteúdo aqui é um dos meus sonhos sabia? Digo isso porque todo mundo ganha:
- Se o projeto tiver exposição ao ponto de contribuir com o avanço dele, ótimo.
- Quem está lendo a publicação conhece um pouco mais da parte técnica de um projeto real, o que é ótimo também.
Isso se difere muito de uma propaganda, porque abre margem para interagirmos, eu por exemplo tenho uma pergunta: Você está utilizando o Redis para fazer o cache do que exatamente?
E não deixe de trazer as novidades do seu projeto para cá para trocarmos ideias e sugestões sobre a parte técnica 🤝
PS: Coloquei no início a tag Pitch
por você ter envolvimento direto com o projeto.