Day #100 – 24/03/2023

Este é o primeiro post no meu diário de desenvolvimento do projeto do caldinho’s. Quem me conhece sabe que eu sou viciado em caldinho de feijão; E eu sempre pensei que seria massa criar um site onde eu pudesse guardar as informações sobre os melhores caldinhos das cidades onde eu vivo: Recife e João Pessoa.

Então pra ajudar a aprender sobre desenvolvimento web novamente, decidi criar este site para mim mesmo e para outras pessoas (que se deus quiser alguém vai usar, não fiz nenhuma pesquisa de market fit kkkk) .

A ideia é escrever aqui o que eu tenho feito e o que eu tenho aprendido sobre a stack que estou utilizando no projeto. Já fazem mais ou menos uns 3 meses que to escrevendo este projeto, então por isso vou começar do dia 100. Mas espero escrever quase sempre que eu codar algo nele. 😂

A ideia deste diário de projeto veio a partir de um chamado

Diary of a solo dev building a web app

Eu achei muito massa o que esse cara vem fazendo e eu acho que vai ser interessante ver a opinião das pessoas além de praticar a escrita.

Stack de desenvolvimento

Para o backend:

  • Actix-web (Rust)
  • PostgreSQL

Para o front:

  • Vue.js

Para o ambiente de dev:

  • Docker
  • Docker-compose

Para o deployment:

  • Github Actions
  • Akamai (antiga Linode)
  • Docker

Esta parte provavelmente ainda vai mudar no futuro pois não pesquisei tudo que preciso para decidir como vai ser o deploy das coisas, espero que dê certo com o passar do tempo.

A minha ideia com este projeto é criar algo simples mas tão eficiente que eu consiga rodar tudo numa máquina bem safada e ainda assim entregar uma boa UX.

Onde eu estou agora

Pronto, como falei, tô codando à mais ou menos 100 dias, e até então consegui fazer o seguinte de importante:

  • Conseguir conhecimento
    • Escrever testes para o front (algumas páginas, não todas e falta muito ainda).
    • criar components necessários e planejar as telas que o sistemas vai ter a partir destes componentes (como tô utilizando vue.js, eu tentei seguir a filosofia deles)
    • Aprender sobre Rust (não tinha escrevido nada em Rust até começar este projeto).
    • Aprender sobre actix-web
  • Criei casos de uso
    • Ainda falta detalhar alguns casos de uso
  • Criei algumas telas
    • A diagramação delas, ainda falta melhorar muito isso pois não quero terminar todos os componentes e depois perceber que fiz algum trabalho em vão porque não tinha cogitado uma possibilidade de usabilidade.
  • No front
    • Listar todos os reviews de caldinho recentes
    • Listar todos os reviews de caldinho associado à um lugar
  • No back
    • Ler e escrever do banco postgres
    • Organizar o código de forma que ele consiga expandir a partir de agora
    • Criar as principais rotas para criação de “caldinhos”
    • Criar os testes para as rotas de “Sugestão de lugar”.

O que é esta sugestão de lugar? Como eu não tenho R$ para pagar uma API (na verdade, vou tentar usar a do OpenStreetMap depois), todas as reviews serão revisadas manualmente por mim até eu conseguir criar a integração hehehe.

Pra isso, eu criei uma tabela chamada “PendingReview” (que vai ser a próxima que vou escrever testes sobre), ela vai ser a tabela “principal” do projeto, pois toda review criada primeiro irá para esta tabela, e todo lugar que não existir na tabela “Places” será colocado como “Sugestão de Lugar”, que eu vou revisar e adicionar as informações manualmente na tabela “Places”.

Dessa forma, eu consigo prevenir dados muitos ruins (mal formatados) entrando no banco (enquanto não automatizado isto).

É isso pessoal, a partir de hoje, sempre que eu tiver um dia que eu codei o projeto (porque nem todo dia eu vou escrever código pra ele porque preferi fazer outras coisas), eu vou adicionar aqui.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s