Skip to content

andyfrith/graphql-user-auth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graphql-user-auth server

This is a GraphQL, Node.js, TypeORM server application written in Typescript. It provides a GraphQL API which accesses user records stored in a local Postgres database.

Table of Contents

  1. Introduction
  2. Features
  3. Environment
  4. Other Demos
  5. Contact Developer

Introduction

This very light application serves as a simple demo of several technologies and authentication good-practices.

Features

A user is defined by the following GraphQL Type:

{
  type User {
    id: ID!
    email: String!
  }
}

Registering a user is made possible with the following GraphQL Mutation:

{
  register(email: String!, password: String!): Boolean!
}

User login is made possible with the following GraphQL Mutation:

{
  login(email: String!, password: String!): User
}

Retrieval of the current authenticated user is made possible with the following GraphQL Query:

{
  type Query {
    me: User
  }
}

JWT

JSON Web Tokens was used in the user authentication strategy.

TypeScript

Why TypeScript? Because, use of types lends itself to using highly-productive development tools and practices; such as, static checking and code refactoring during JavaScript development. Additionally, there is great support for TypeScript in the development community.

Node.js

The application was built using Node.js.

TypeORM

The application was built using TypeORM.

Postgres

The application was built using PostgreSQL.

GraphQL

This application was built using the Apollo Server GraphQL server and the Node.js apollo-server-express middleware.

The GraphQL schema is generated using the GraphQL Code Generator.

⬆ back to top

Environment

Available Scripts

In the project directory, you can run:

npm install

Installs the necessary modules required to build and run the application.

npm generate

The GraphQL schema is generated using the GraphQL Code Generator.

npm start

Stards the Node.js process, runs the app.
Open http://localhost:5002/graphql to view the GraphQL playground in the browser.

npm run build

Compiles the typescript using tsc, building the app for production.

npm run test

Tests will be added in the future.

⬆ back to top

Other Demos

tmdb-demo-ui - the UI counterpart- a minimal React Typescript application providing a simple UI that acesses the GraphQL API endpoints of the tmdb-demo server

demo-gql-ui - A minimal React Typescript application providing a simple UI that acesses the GraphQL API endpoints of the demo-gql server

react-portal - a React Redux application that provides simple user management tasks upon successful JWT authentication

greasy-spoon-pos - a React Redux application that provides minimal features of a very basic restaurant Point of Sale system

goodapplemedia.com - a responsive website created with HTML5, Foundation CSS, and ES6 that demonstrates an exceptional and desirable user experience

⬆ back to top

Contact Developer

I'm driven to deliver exemplary User Experiences and sound application architectures. I enjoy solving customer problems with excellent design and engineering- to greatly affect business success.

Portfolio

Email: afrith.denver.usa@gmail.com

LinkedIn

About

A GraphQL, Node.js, TypeORM server application written in Typescript providing user authentication

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published