Skip to content

Sahil2k07/graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 GraphQL Server

⚙️ .gqlgen.yml Configuration

schema:
  - internal/graphql/schema/**/*.graphql

exec:
  filename: internal/graphql/generated/generated.go
  package: generated

model:
  filename: internal/graphql/generated/models_gen.go
  package: generated

resolver:
  layout: follow-schema
  dir: internal/graphql/resolvers
  package: resolvers

autobind: []

📦 Local Setup

  1. Copy the example config file
cp dev.example.toml dev.toml

These are the variables that we use

[server]
server_port = ":5000"
origins = ["http://localhost:3000", "https://example.com"]

[database]
db_host = "localhost"
db_port = "5432"
db_user = "postgres"
db_password = "sahil"
db_name = "graphql"

[jwt]
signing_key = "K3#v@9$1!pZ^mL2&uQ7*rF4)gT8_W+oB"
encryption_key = "8x@R!5#N0$kQ7_vT3&Wp2+Z^fC6*bM1h"
  1. Download dependencies
go mod download
  1. Run the server locally
go run cmd/server/main.go

🐳 Run with Docker (Standard Server)

  1. Build the Docker image
docker build -f Docker/Dockerfile.server -t graphql-server .
  1. Run the container
docker run --name graphql-server -p 5000:5000 graphql-server

☁️ Run with Docker (Serverless - AWS Lambda Compatible)

  1. Build the Lambda-style image
docker build -f Docker/Dockerfile.serverless -t graphql-serverless .
  1. Run the container locally with Lambda Runtime Interface Emulator (RIE)
docker run --rm -p 9000:8080 graphql-serverless

🛠️ Generate GraphQL Schema and Code

  1. Install gqlgen CLI
go install github.com/99designs/gqlgen@latest
  1. Generate GraphQL schema and queries
gqlgen generate

About

The project demonstrates the use of graphql using the package gqlgen in golang

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages