Skip to content

JPauloMoura/controle-de-estoque

Repository files navigation

API Para Gestão de Produtos 🚀

Static Badge go

GitHub issues GitHub forks GitHub stars

Ferramentas

  • Tecnologias: Go, HTML, CSS, Docker.
  • Banco de Dados: Postgres.
  • Outras Ferramentas: Makefile, Go-migrations, Air.

Visão Geral

Este projeto Golang é minha arena de prática para aplicar de maneira real meus conhecimentos em desenvolvimento de software. Quero testar minhas habilidades, seguindo boas práticas de ponta a ponta.

Objetivos Principais:

  • Aplicar teoria conceitos de desenvoilvimento de software em uma aplicação real.
  • Desafiar-me tecnicamente.
  • Cobrir de ponta a ponta todo o ciclo de desenvolvimento.

Escopo Atual do Projeto:

  • Criar CRUD de "produtos" utilizando Go.
  • Funcionalidades básicas para uma base sólida.

Razão da Complexidade:

  • Desenvolvimento Pessoal: Buscar desafios para crescimento profissional.
  • Variedade de Conhecimento: Explorar temas e ferramentas diversas.

O projeto não é apenas técnico; é uma jornada para aprender e se aprimorar. O objetivo é entregar não só um sistema robusto, mas também ganhar uma compreensão mais profunda de como desenvolver um software completo.

Histórico de evolução do projeto

Tarefas Concluídas:

  • Conectar a aplicação ao container Postgres
  • Validar funcionalidades
  • Criar repositório
  • Criar migrations para o banco
  • Implementar script de inicialização com Makefile
  • Criar pacote (pkg) com uma estrutura de logs
  • Resolver problema de deleção
  • Corrigir funcionalidade de atualização
  • Realizar injeção de dependências
  • Criar handlers para expor dados em uma API REST usando o web framework Chi
  • Identificar e corrigir duplicação de logs em repository/product.go:125 (get product)
  • Implementar validação dos campos da requisição
  • Permitir paginação na listagem de produtos
  • Refinar retornos de erros entre as camadas
  • Estabelecer esteira básica de CI: build e testes
  • Estabelecer política de CORS

Tarefas Pendentes:

  • Desenvolver sistema de autenticação
  • Criar testes unitários
  • Implementar middleware para adicionar metadados e timeout no contexto
  • Dockerizar a aplicação
  • Criar fluxo completo de CI: build, testes e deploy de imagem

Contribuições

Contribuições são incentivadas! Sinta-se à vontade para abrir issues, enviar pull requests ou fornecer feedback construtivo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published