Skip to content

Latest commit

 

History

History
180 lines (157 loc) · 7.77 KB

README_pt-br.md

File metadata and controls

180 lines (157 loc) · 7.77 KB

goxygen logo

Crie um projeto Web com Go e Angular/React/Vue em segundos.

Goxygen visa poupar seu tempo ao montar um novo projeto. Ele cria o esqueleto de uma aplicação com todas as configurações prontas para você. Você pode começar a implementar sua lógica de negócios imediatamente. Goxygen gera o código back end em Go, conecta ele com os componentes front end, fornece o Dockerfile para a aplicação e cria o arquivo docker-compose para rapidamente executar em ambientes de desenvolvimento e produção.

Tecnologias suportadas
Front End Angular React Vue
Back End Go
Database MongoDB MySQL PostgreSQL

Requisitos

Você precisa de Go 1.16 ou mais recente na sua máquina.

Como utilizar

go run github.com/shpota/goxygen@latest init my-app

Isso gera um projeto no diretório my-app.

Por padrão, será usado React e MongoDB. Você pode selecionar um framework de front end e um banco de dados diferentes usando os argumentos --frontend e --db. Por exemplo, este comando criará um projeto usando Vue e PostgreSQL:

go run github.com/shpota/goxygen@latest init --frontend vue --db postgres my-app

O argumento --frontend aceita as opções angular, react e vue. O argumento --db aceita as opções mongo, mysql e postgres.

O projeto gerado está pronto para ser executado com docker-compose:

cd my-app
docker compose up

Após o build ser concluído, a aplicação ficará disponível em http://localhost:8080.

Você pode encontrar mais detalhes de como utilizar o projeto gerado em seu arquivo README.

Showcase

Estrutura do projeto gerado (Exemplo com React/MongoDB)

my-app
├── server                   # Arquivos do projeto Go
│   ├── db                   # Comunicação com o MongoDB
│   ├── model                # Objetos de domínio
│   ├── web                  # REST APIs, servidor web
│   ├── server.go            # O ponto de acesso do servidor
│   └── go.mod               # dependências do servidor
├── webapp                    
│   ├── public               # ícones, arquivos estáticos e index.html
│   ├── src                       
│   │   ├── App.js           # O principal componente React
│   │   ├── App.css          # Estilização do componente App
│   │   ├── index.js         # Ponto de entrada da aplicação          
│   │   └── index.css        # Estilos globais
│   ├── package.json         # dependências do front end
│   ├── .env.development     # API endpoint para ambiente de desenvolvimento
│   └── .env.production      # API endpoint para ambiente de produção
├── Dockerfile               # faz o build do back end e o front end juntos
├── docker-compose.yml       # deploy em ambiente de produção
├── docker-compose-dev.yml   # executa um MongoDB local para fins de desenvolvimento
├── init-db.js               # cria um MongoDB collection com dados de teste
├── .dockerignore            # especifica arquivos ignorados no Docker build
├── .gitignore
└── README.md                # guia sobre como usar o repositório gerado

Arquivos como testes unitários ou componentes de exemplo não estão incluídos aqui para fins de simplicidade.

Dependências

Goxygen gera uma estrutura básica de um projeto e não o força usar um conjunto específico de ferramentas. E por isso não traz dependências desnecessárias para o seu projeto. Ele usa apenas um driver de banco de dados no back end e axios nos projetos React e Vue. Projetos Angular usam apenas bibliotecas específicas do Angular.

Como contribuir

Se você encontrou um bug ou tem alguma ideia de como melhorar o projeto, abra um issue e nós iremos consertar o mais rápido possível. Você também pode enviar suas alterações via Pull Request. Dê um fork no repositório, faça alterações, nos envie um pull request que nós iremos analisar em breve. Nós também temos um Gitter chat onde discutimos todas as alterações.

Créditos

O logo do Goxygen foi criado por Egon Elbre.