Acore-Node-Server is a modular nodejs application written in TS/JS that exposes GraphQL and Rest API useful to create any kind of applications based on azerothcore database. It supports the fetching of nesting data from multiple realms, graphql subscriptions (websockets) to implement real-time data, integrated Access Control Layer, user registration and pass recovery system, integration with Wordpress and many other features.
It can be extended and customized with new features and extra databases support.
npm install
npm run db:all && npm run start
Work in progress…
ACore-Node-Server uses a set of libraries and strategies to automate the creation of GraphQL APIs for the AzerothCore database
The current flow is composed by 2 + 1 (optional) different steps:
(optional) /apps/generator: Script to generate sequelize modules from a sequelize compatible connection (MySQL etc). Acore-node-server already includes default pre-generated models. However, if you need to generate your custom one. You can set your /conf and run it. Generated models should not be modified manually because the generator can overwrite them. Instead you need to use our adapters as a middleware to extend/replace functionalities.
azerothcore/js-common:agnostic code written in TS/JS shared by all JS based projects. Whenever a method is so generic that is not related to any business logic and framework, it will be placed here.
graphcraft: library used by acore-node-server to implement the automatic conversion of sequelize models into GraphQL APIs. We actively contribute to this 3rd party project
apollographql: complete framework for both client and server to implement GraphQL APIs
And many other more that will be described soon!
/src
run.ts -> used by package.json script to run the service
Work in progress…