Skip to content

Examples of directory structures for using GraphQL with Apollo Server in Node.js

Notifications You must be signed in to change notification settings

betaflag/graphql-server-scaffolding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains a few examples of directory structures for using GraphQL with Apollo Server in Node.js.

minimal

This is the shortest version with only one file to run (src/index.js). The file defines the GraphQL schema along with its resolvers and starts the server. This could be used for small servers (micro-services) and as the benefit of having all the code in one place.

role-oriented

This is a classic directory structure seen in many frameworks. The files are organized by their roles (models, resolvers, type definitions). Its main benefit is to quickly get the picture of all files for specific roles.

domain-oriented

This is also a classic but it's less common. Instead of organizing the files in roles, they are organized by business domain. For example, the business domain of books contains all its data, models, resolvers and schema. The principal benefit of this structure is its modularity.

It's generally up to you to define your directory structure for your projects. Picking the right one from the start is tricky but you can always change it along the way (although that could also be tricky!).

Feel free to open issues to discuss pros/cons to add here and to suggest other directory structures. Contributions are welcomed.

Twitter @betaflag Medium @betaflag

About

Examples of directory structures for using GraphQL with Apollo Server in Node.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages