dennys-bd / dennys-bd/gonext

API Protocol Layer — GraphQL (gqlgen) and gRPC (Connect-RPC) alternate engines

Open
#19 0 comments 0 reactions 0 assignees View on GitHub
core-foundation enhancement
Dominant language
Go
Stars
0
Forks
0
Avg merge
3h 1m
Merged PRs (30d)
29

Description

Core, not a Feature Pack — every generated project needs *some* way for the client tiers to talk to Go, so unlike the Feature Packs in `README.md` there is no `none` option here, only a choice of engine per tier.

REST (Echo + Huma v2) is the default and the only tier currently implemented. GraphQL and gRPC are alternate engines swapped in at scaffold time.

| Boundary | Protocol | Backend Engine | Client SDK | State |
|---|---|---|---|---|
| Next.js → Go (Tier 2, default) | REST | Echo + Huma v2 | `@hey-api/openapi-ts` + `openapi-fetch` | shipped |
| Next.js → Go (Tier 2) | GraphQL | [gqlgen](https://gqlgen.com/) | Typed GraphQL client / `graphql-request` | to build |
| Next.js → Go (Tier 2) | gRPC | [Connect-RPC](https://connectrpc.com/) / gRPC-Go | `@connectrpc/connect-web` | to build |
| Frontend → Next.js (Tier 1) | REST | Next.js App Router / Server Actions | `fetch` / TanStack Query | shipped |
| Frontend → Next.js (Tier 1) | GraphQL | Next.js Route Handler | GraphQL Codegen + Urql / Apollo | to build |

The scaffolding CLI prompts for this as two independent choices, since the two tiers can mix (e.g. REST to the browser, gRPC internally between Next.js and Go).

Full design, including the tier diagram, lives in `roadmap.md` under *API Protocol Layer*.

**Sequencing:** additive — REST is the default and needs no new design, so these layer on top of the CLI work rather than blocking it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Read the API Protocol Layer section in roadmap.md and the Feature Packs guidance in README.md, then inspect the existing REST scaffolding path and CLI prompt flow. Done means GraphQL and gRPC can be selected independently for the two tiers, including mixed combinations, while REST remains the default.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, graphql, grpc, next.js
Domain
api, backend-api-design, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.