Apollo Server Project Structure

Hi everyone.

I’ve picked up Apollo and GQL for the last few weeks and I was hoping to get some feedback regarding the suggested best practice for Apollo Server Project Structure/Organisation as I have a found a few notes but nothing definitive.

Simply put, I am working on a new project and need to setup an Apollo Server and I am looking for suggestions regarding how the folders should be structured given GQL concepts. I found a good article by Jonas Helfer (How to structure GraphQL server code - Apollo GraphQL Blog) which seems to suggest models and connections however when I follow the links to the examples they are all broken. I also came across Hackernoon’s example (Three ways to structure your GraphQL code with Apollo Server | HackerNoon) and the one that speaks to me there is the ‘Role Player.’

In my case, I have am building a server for a client with 2 data sources (a postgres database and Xero for invoicing). I don’t expect it to grow, however I would still like to setup a structure that scales and could be used on other projects in the future.

I would great appreciate any input.

Thanks.