O CV Manager é um projeto em desenvolvimento que visa gerenciar currículos de forma eficiente, utilizando tecnologias modernas como GraphQL, MongoDB e Go. Este repositório ainda está em fase inicial e pode conter funcionalidades incompletas ou sujeitas a alterações.
- Go: Linguagem de programação principal do projeto.
- GraphQL: Para criação de APIs eficientes e flexíveis.
- Documentação do GraphQL
- GQLGen: Ferramenta para gerar código GraphQL em Go.
- MongoDB: Banco de dados NoSQL para armazenamento de dados.
- Docker: Para containerização do ambiente de desenvolvimento.
docker-compose.yml
: Configuração do serviço MongoDB.go.mod
ego.sum
: Gerenciamento de dependências do Go.server.go
: Ponto de entrada principal do servidor.config/
: Configurações do projeto.db/
: Integração com o banco de dados MongoDB.generated/
: Código gerado automaticamente pelo GQLGen.model/
: Modelos de dados.resolvers/
: Resolvers para as queries e mutations do GraphQL.schemas/
: Definições do esquema GraphQL.
- Certifique-se de ter o Docker e o Docker Compose instalados.
- Suba o ambiente com o comando:
docker compose up
- Gere os esquemas GraphQL com o comando:
make generate
- Execute a aplicação com o comando:
make run
- O servidor estará disponível na porta configurada (padrão:
8080
).
O projeto inclui um makefile
com os seguintes comandos para facilitar o desenvolvimento:
-
make build
:- Compila o servidor Go e gera o binário na pasta
bin/
. - Útil para criar o executável do servidor.
- Compila o servidor Go e gera o binário na pasta
-
make run
:- Compila o servidor (executa
make build
) e o inicia com as variáveis de ambiente configuradas. - Útil para rodar o servidor localmente.
- Compila o servidor (executa
-
make generate
:- Gera os esquemas GraphQL usando o
gqlgen
. - Útil para atualizar os resolvers e esquemas GraphQL após alterações.
- Gera os esquemas GraphQL usando o
-
make clean
:- Remove a pasta
bin/
e limpa os binários gerados. - Útil para limpar o ambiente de desenvolvimento.
- Remove a pasta
O comando padrão é o make run
, que compila e executa o servidor automaticamente.
Este projeto ainda não está finalizado. Algumas funcionalidades podem estar incompletas ou sujeitas a alterações.