Files
Superalgos/Deprecated-Code/TeamsModule/api
2020-11-20 20:28:04 +01:00
..
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00
2020-11-20 20:28:04 +01:00

Superalgos Team GraphQL API Server

This is the Superalgos Team Module server-side GraphQL API server. We use Webpack 4 + Docker to develop locally, then build to a distribution bundle that can then be uploaded via FTP, git or used with a continuous integration workflow.

This modules client-side frontend is in the client directory.

Getting Started

Run

		npm install

then

		npm run dev

Overview

The Superalgos/TeamModule API is a GraphQL server that serves the necessary queries and mutations for Superalgos teams to browser clients and the Superalgos platform.

Main Libraries

  • Prisma: GraphQL ORM for Postgres.
  • Graphql: GraphQL is a query language for APIs and a runtime for fulfilling those queries.
  • Apollo Server: Apollo Server is the best way to quickly build a production-ready, self-documenting API for GraphQL clients, using data from any source.
  • Docker

File organization

.                               # Top level directory located at your choice
├── database			# Database files for local Prisma development
├── src		        
│   ├── directives   # Directives for role permissions
│   ├── errors    # error handling
│   ├── generated     # Auto-compile GraphQl schema from Prisma endpoint
│   ├── graphql    # GraphQL API schema + resolvers
│   ├── logger    	# Utils for logging
│   ├── middleware   	# Server middleware
│   └── storage   	# Azure storage service
├── ApolloServer.js    # Main Apollo Server setup
│
└── index.js 				# Server API entrypoint