An open API service indexing awesome lists of open source software.

https://github.com/jimmymcbride/typeql

TypeScript GraphQL Server
https://github.com/jimmymcbride/typeql

Last synced: 3 months ago
JSON representation

TypeScript GraphQL Server

Awesome Lists containing this project

README

        

## Prerequisite's

[Must have postgres installed.](https://github.com/JimmyMcBride/pg-back-end)

[Must have Redis installed.](https://redis.io/download)

## Get started:

- Clone repo to your local machine.
- Install packages `yarn || npm i`
- In terminal from your project directory run: `cd src/ && redis-server`.
- Open a new terminal and point it at the repo directory and `yarn start || npm start`.

## Useful links

[TypeGraphQL Docs](https://typegraphql.com/)

[TypeGraphQL GitHub](https://github.com/MichalLytek/type-graphql)

[Ben Award's TypeGraphQL Series Repo](https://github.com/benawad/type-graphql-series/tree/master)

[TypeScript Testing](https://github.com/kulshekhar/ts-jest)

## NPM Packages:

- [apollo-server-express](https://www.npmjs.com/package/apollo-server-express): Runs apollo on an express server.
- [bcryptjs](https://www.npmjs.com/package/bcryptjs): Hashes passwords.
- [connect-redis](https://www.npmjs.com/package/connect-redis): Connects to redis for session storage.
- [cors](https://www.npmjs.com/package/cors): So we can talk to other origins.
- [express](https://www.npmjs.com/package/express): Servers the api. 🚀
- [express-session](https://www.npmjs.com/package/express-session): For cookies.
- [graphql](https://www.npmjs.com/package/graphql): Helps feed the poor. 🍞
- [ioredis](https://www.npmjs.com/package/ioredis): Our Redis package for cookie storage.
- [pg](https://www.npmjs.com/package/pg): Our postgres database.
- [reflect-metadata](npmjs.com/package/reflect-metadata): You need to import it for things to work.
- [ts-node](https://www.npmjs.com/package/ts-node): Let's us use TypeScript like node.
- [type-graphql](https://www.npmjs.com/package/type-graphql): GraphQL types for TypeScript.
- [typeorm](https://www.npmjs.com/package/typeorm): An object-relational mapping package for JavaScript and TypeScript. It takes our TypeQL schema and maps it to our PostgreSQL database.
- [ts-node-dev](https://www.npmjs.com/package/ts-node-dev): Like nodemon, but better and only for TypeScript.
- [typescript](https://www.npmjs.com/package/typescript): A fine tasting glass of Chianti. 🍷
- [dotenv](https://www.npmjs.com/package/dotenv): Keeps secrets safe.
- [uuid](https://www.npmjs.com/package/uuid): Generates random strings for tokens and id's.
- [jest](https://www.npmjs.com/package/jest): For testing.
- [ts-jest](https://www.npmjs.com/package/ts-jest): For typescript testing.

## Additional Resources

[TypeGraphQL with Apollo-Yoga](https://pusher.com/tutorials/graphql-typescript)