GithubHelp home page GithubHelp logo

napi's People

Contributors

commonprogrammerr avatar erick-andrade1 avatar sevlak avatar

Watchers

 avatar

napi's Issues

Utilização da biblioteca `certmagic`

Como atualmente a criação/manutenção de certificados é feita manualmente através do certbot, decidimos utilizar a biblioteca certmagic para fazer isso automaticamente. Para isso, foi preciso migrar o domínio ecomp.tech para a Cloudflare. Isso porque onde a registradora do domínio antiga (Hostinger) não fazia uso de uma API para atualização de registros.

Por agora, precisamos implementar essa biblioteca no nosso código.

Criação do CRUD das entidades iniciais

Como exemplificado nos casos de uso, será necessário que as entidades iniciais tenham endpoints para que a dashboard/app os acesse.

  • Sala (no db: room)
  • Usuário (no db: userData)
  • Zonas (no db: zones)
  • Permissões (no db: accessPermit)
  • Cartão (no db: userCard)

Mudar a estrutura do projeto

Decidimos que a estrutura/arquitetura do projeto seguirá o modelo MVC. Devemos mudar a estrutura e atualizar o go.mod para que ele aponte para o novo repositório.

Instanciamento e utilização de migrations

A partir de agora, iremos utilizar a ferramenta Goose para a administração de entidades já conhecidas e pré-definidas no projeto.

  • Instalação do Goose
  • Criação da pasta de migrations dentro de src
  • Criação das primeiras migrations utilizando os .sql fornecido

Implementação da interação com o banco de dados

A interação com o banco será feita através de um ORM. Iremos utilizar o padrão "Repository" para separar a lógica de acesso do resto do código. Provavelmente vai ser uma interface, na qual o repositório das entidades vai implementá-la.

Infraestrutura

  • Detalhar atividades da infra.
  • Avaliar necessidade de mais membros.

Montar a pipeline de deploy

Montar a pipeline de deploy utilizando Github Actions para que a cada push na main, sejam verificados os requisitos (testes, por exemplo) e atualizado no servidor.

Criação da imagem do Docker

Criar a imagem do Docker para cada ambiente (produção, desenvolvimento...). O ideal é que a imagem tenha os requisitos necessários para o funcionamento da API: RabbitMQ, MySQL, Go.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.