Name | Usage | Possible Alternatives |
---|---|---|
MySQL | Database | Depends on ORM |
TypeORM | ORM | Prisma |
Apollo Server | GraphQL Server | GraphQL Helix |
Express | HTTP Server | Fastify |
ts-node-dev | TypeScript Executor | |
GraphQL Code Generator | GraphQL => TS Type Generater |
Software | Tested Version | Link |
---|---|---|
Node.js | 14.17.5 |
- Installing Node.js via package manager |
Yarn | 1.22.11 |
- Installation |
Docker | 20.10.7 |
- Install Docker Desktop on Mac - Install Docker Desktop on Windows |
These ports must be vacant and accessible from the docker host machine:
Port # | Usage |
---|---|
13000 |
API Endpoint (Express Server) |
13306 |
MySQL |
From your host machine:
yarn install
yarn dev # or: docker compose up
...and access http://localhost:13000/graphql from your host machine.
From your host machine (docker process must be up before operation):
yarn migration:generate -n MIGRATION_NAME_HERE
yarn migration:run
From your host machine (docker process must be shut down before operation):
# this is an example. express is already installed in this project
yarn add express
yarn add -D @types/express
From your host machine (docker process must be up before operation):
mysql -h127.0.0.1 -P13306 -u'typeorm-apollo-server' -p'typeorm-apollo-server' typeorm-apollo-server
mysql://typeorm-apollo-server:typeorm-apollo-server@127.0.0.1:13306/typeorm-apollo-server