Projeto de Estudo NodeJs e Typescript
⤴️ Índice- 📗 Sobre
- 📷 Imagens
- 💻 Instalação
- 📊 Diagrama
- 🔨 Ferramentas
- 👏 Boas Práticas
- 🤓 Para Desenvolvedores
- 🔢 Versões
- 🤖 Uso de IA
Front-end de sistema de Negociações puramente didático
Este projeto tem como objetivo me atualizar em JavaScript/TypeScript no contexto de desenvolvimento front-end (diretório packages/negociacoes-site
). O foco é o aprendizado e a aplicação de boas práticas utilizando TypeScript, sem o uso de frameworks como React, Vue, Nest, Next, entre outros. O projeto é baseado na Formação Melhore sua experiência de desenvolvimento com TypeScript e em trilhas de atualização.
Além disso, foi realizada dockerização do projeto (a arquitetura original era voltada apenas para fins didáticos) para testar o Github Codespaces, uma solução que permite validar e compartilhar o projeto na nuvem durante o desenvolvimento.
Está nos planos atualizar o packages/negociacoes-api
, que atualmente é um mero exemplo para servir o front-end, para algo mais funcional, como uma prova de conceito (POC). Paralelamente, também estou pesquisando outras soluções para projetos de microsserviços mais complexos que estou desenvolvendo.
Para executar o projeto, siga as instruções abaixo:
- Faça o download/clone do repositório do projeto.
- Certifique-se de ter o Docker Compose instalado em sua máquina.
- Execute na raiz do projeto, o comando
docker-compose up
oudocker compose up
, dependendo da versão do Docker Compose instalada. - Acesse
http:https://localhost:3000
em seu navegador para visualizar o projeto. Ele utiliza as portas3000
e3001
para a execução.
O diagrama abaixo ilustra a arquitetura do projeto:
graph LR
subgraph User
A[Cliente Web] -->|HTTP| B[negociacoes-site]
end
subgraph Backend
B -->|HTTP| C[negociacoes-api]
end
subgraph Database
E[negociacoes-api DB] -->|POSTGRESS| C
end
As seguintes ferramentas foram usadas na construção do projeto:
Seguindo boas práticas de desenvolvimento:
Durante o estudo/desenvolvimento, por sugestão de outros desenvolvedores, foram adotadas as ferramentas Nx (que requer Nodejs em sua máquina) e seu console no VScode para a gestão de Monorepos. Estou utilizando o mínimo de suas capacidades com finalidade de estudo, no entanto para uma experiência de desenvolvimento e validação técnica do repositório, sugiro instalação do ambiente. Explicar o funcionamento do Nx não é o objetivo do presente documento, mas encorajo a buscar esses dados caso deseje. Qualquer Monorepo pode se tornar um monorepo Nx.
Nada do que foi discutido nessa seção deve atrapalhar o correto funcionamento e instalação do projeto em uma máquina com o docker-compose funcional
Tenha bons estudos :)
As tags de versões estao sendo criadas manualmente a medida que os estudos avançam com melhorias notáveis no projeto. Cada novo modulo do curso ou funcionalidade é desenvolvido em uma branch a parte quando finalizadas é gerada tag (minor para o curso e patch para melhorias) e mergeadas em master.
Com a adição do Nx e futuramente um script de controle de versão esse processo tende a ser automatizado
Para obter mais informações, consulte o Histórico de Versões.
O cabeçalho desta página foi criado com auxílio de inteligência artificial e um mínimo de
retoque e construção no Gimp
Foram utilizados os seguintes prompts para sua criação no Bing IA:
Jovem Super-herói TS
"menino negro estilo cartoon com cabelo de trancas nago e oculos redondos de armacao grossa de frente calca jeans, tenis estilo all star vermelhos e camisa azul escrito as letras "TS" olhar confiante para frente e com uma capa vermelha de super heroi improvisada amarrada em seu pescoco como se estivesse brincando de ser o super homem mas ao inves do S esta escrito TS em branco"(sic)Lata de Spray
"lata de spray de pichacao em estilo cartoon branca mas com gotas de tinta vermelha escorrendo pelo ejetor de tinta, fundo totalmente branco"(sic)IA também é utilizada em minhas pesquisas e estudos como ferramenta de apoio; no entanto, artes e desenvolvimento são, sobretudo, atividades criativas humanas.
Contrate artistas para projetos comerciais ou mais elaborados e Aprenda Engenhosidade!