Projetos 👨‍💻

Alguns dos projetos que construí, do mais recente para o mais antigo.

Chess Implementation

Demo | Repositório

Uma implementação do jogo clássico do xadrez, feito em TypeScript.

De forma geral, estou sempre em busca de pequenos projetos que sejam interessantes, divertidos, úteis ou (potencialmente) lucrativos 👀. A preferência é para aqueles que estão exatamente na interseção dessas características, claro. Entretanto, é uma tarefa não-trivial pensar em um projeto com todos esses requisitos.

Esse se enquadra mais na categoria "interessante e diverto" do que "útil / (potencialmente) lucrativo" 🤣. Mas pensando no aprendizado e no conhecimento, indiretamente pode-se entendê-lo como útil 🤔.

O foco foi no backend e eu me propus buscar uma implementação das regras do jogo que fosse a mais clara e legível possível. Não utilizei TDD na sua forma pura, mas os testes guiaram o desenvolvimento, especialmente na ausência de uma interface gráfica, que apareceu apenas no final.

Stone Automata Maze Challenge

Repositório

Primeiro desafio de programação do qual participei, promovido pela Stone em parceria com a Sigma Geek. Foi também o primeiro projeto expressivo que construí usando Rust.

O desafio foi o de encontrar os melhores caminhos para labirintos dinâmicos formados por autômatas celulares.

Confira os detalhes no repositório, que inclui uma pequena animação para dar um gostinho de como funcionam esses labirintos e das soluções encontradas.

Microsserviço de envio de e-mail

Repositório

Microsserviço de arquitetura serverless desenvolvido para o envio automático de e-mails.

A ideia foi a de implementar um sistema de notificações via e-mail para o conteúdo produzido aqui no blog. Uma espécie de newsletter, mas que, ao invés de trazer o conteúdo no corpo do e-mail, direciona para o post recém publicado ao qual o e-mail se refere.

O intuito no nível técnico foi o de construir um microsserviço de primeira classe, com banco de dados próprio e comunicação assíncrona utilizando filas.

Confira todos os detalhes nesse post!

Tech Blog CMS API

Repositório

API de gerenciamento de conteúdo do Blog. Construído com testes, SOLID e DDD em mente. Juntei a necessidade de ter um Headless CMS para o site com a vontade de explorar boas práticas de arquitetura de software, além de incorporar pipelines de CI/CD. O projeto conta com:

  • Testes;
  • SOLID;
  • DDD;
  • CI pipeline usando Github Actions;
  • Deploy em ambiente Serverless (Lambda).

Agilizze

Instagram

Sistema de automação de pedidos integrado ao Whatsapp. Conta com uma plataforma de gestão de pedidos para empresas e um aplicativo web para clientes. É sem dúvida o projeto full stack mais complexo que já empreendi. Aqui tive a oportunidade de utilizar:

Backend:

  • Docker
  • Web Sockets
  • Fastify (Node.js Framework)
  • Prisma (Node.js ORM)

Frontend:

  • React
  • Material UI (Design System)

Tech Blog

Repositório

Trata-se de algo que eu queria fazer já há algum tempo e que mostrou-se ser a oportunidade perfeita para colocar a mão na massa em algumas tecnologias sensacionais, dentre elas:

  • TypeScript;
  • Next.js;
  • Tailwind CSS.

Telegram Sales Bot

Repositório | Demonstração

Proof of concept de um robô varejista no Telegram. O intuito foi o de explorar a construção de chatbots e como esse tipo de sistema poderia automatizar comunicação de clientes com lojas.

Nesse projeto eu aprendi/consolidei as seguintes habilidades:

  • Compreenção e consumo de API de terceiro (API do Telegram);
  • Meu primeiro contato com Webhook (endpoint do backend que tem o propósito de ser chamado quando da acorrência de algum evento externo);
  • Primeiro contato com ngrok, ferramenta que disponibiliza uma url pública que redireciona o tráfego para servidor local.

Feito em Python, na época minha linguagem de preferência para backend (atualmentente Node.js).

Depo Control

Repositório | Demonstração

Meu primeiro projeto FullStack, trata-se de um sistema de control de estoque. Foi o projeto em que consolidei meus conhecimentos em React, meu framework de preferência para frontend web. Alguns destaques:

  • Comunicação bidirecional utilizando Web Sockets;
  • Autenticação com JWT;
  • Progressive Web App.