-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Este documento descreve o setup, comandos e outras informações relevantes sobre o projeto.
- Go (testado com versão 1.20)
- Docker (opcional, mas recomendado)
O projeto utiliza várias bibliotecas Go. Algumas das principais dependências incluem:
github.com/go-bolo/bolo
github.com/gookit/event
github.com/labstack/echo/v4
github.com/spf13/cobra
E muitas outras dependências indiretas.
Existem dois arquivos de configuração de ambiente:
-
Desenvolvimento:
development.env
- Configurações padrão para desenvolvimento local.
- Exemplo de configuração:
DEFAULT_LOCALE=pt-br
LOG_LV=verbose
DB_ENGINE="mysql"
-
GO_ENV="development"
... (e outras configurações)
-
Produção:
production.env
- Configurações padrão para ambiente de produção. Ajuste conforme necessário.
Um Dockerfile
está incluído para construir e executar a aplicação em um container Docker.
Construção da imagem:
docker build -t nome_da_imagem .
Execução do container:
docker run -p 8080:8080 nome_da_imagem
O Dockerfile
define vários estágios, incluindo base
, dev
, test
e release
. Ajuste conforme necessário.
Para iniciar o servidor HTTP, execute o seguinte comando:
go run main.go start-server
-
Plugins: Se você deseja adicionar novas funcionalidades, considere criar um novo plugin. Plugins são módulos independentes que podem ser registrados no aplicativo principal. Por exemplo, o projeto atual tem plugins
project
esignUp
registrados.Para criar um novo plugin:
- Crie uma nova pasta para o seu plugin.
- Dentro dessa pasta, defina a estrutura e lógica do seu plugin.
- Registre o plugin no aplicativo usando
app.RegisterPlugin
.
-
Iniciar o Aplicativo: O aplicativo é iniciado usando a função
NewApp
definida emNewApp.go
. Se você precisar adicionar configurações ou comportamentos adicionais na inicialização do aplicativo, considere modificar esta função.
O projeto utiliza a biblioteca golang-migrate
para gerenciar migrações de banco de dados.
-
Iniciar Migração e Criar o Banco de Dados:
go run main.go migrate
-
Executar Migrações: Este comando aplica todas as migrações pendentes.
go run main.go migrate-up
-
Reverter Migrações: Este comando reverte a última migração aplicada.
go run main.go migrate-down
- A URI do banco de dados é obtida da variável de ambiente
DB_URI
. - As migrações estão localizadas no diretório
migrations/db
.
Espero que este README ajude a entender e trabalhar com o projeto. Se você tiver dúvidas ou feedback, sinta-se à vontade para contribuir.