Este é um exemplo de como utilizar GraphQL com Node e outras tecnologias
Este projeto mostra como criar um servidor GraphQL utilizando as tecnologias mencionadas acima. O TypeScript é utilizado para trazer tipagem e segurança de tipos para o código, enquanto o SWC é utilizado para compilar o código TypeScrip. O Apollo Server é utilizado para criar o servidor GraphQL em si, e o Nodemon é utilizado para reiniciar o servidor automaticamente a cada mudança no código. O Pino é um logger utilizado para logar as requisições e respostas do servidor, e o Dotenv é utilizado para carregar variáveis de ambiente a partir de um arquivo .env.
- Dotenv
- TypeScript
- SWC
- Nodemon
- Pino
- GraphQL
- Apollo Server 4
- Jest
- Husky
- Eslint
- Prettier
- Commitizen cs-cli
- Github Actions
- SuperTest
- Prisma PostgreSQL
Para instalar o projeto, basta clonar o repositório e rodar o comando npm install na raiz do projeto.
git clone https://github.com/marcelofabianov/node-graphQL-swc-nodemon-pino && npm install
Para rodar o servidor em modo de desenvolvimento, basta rodar o comando npm run dev:server na raiz do projeto. O servidor irá reiniciar automaticamente a cada mudança no código.
npm run dev:server
Para rodar o servidor em modo de produção, basta rodar o comando npm start na raiz do projeto.
npm start:prod
Para rodar os testes, basta rodar o comando npm run test na raiz do projeto.
npm run test
ou npm run test:watch ou test:coverage ou test:cov-watch
Para utilizar o servidor, basta acessar o endereço http://localhost:4000 e utilizar o playground do GraphQL para fazer as requisições.
Este projeto esta seguindo as convenções de "Conventional Commits". Para facilitar o uso destas convenções, o Commitizen foi adicionado ao projeto. Para fazer um commit, basta rodar o comando npm run commit na raiz do projeto.
Exemplo:
git add . && npm run commit
Para saber mais sobre o Commitizen, acesse:
Para saber sobre o padrao de commits utilizado, acesse:
Extra: