Node Contacts GraphQL API
- Node.js (dev with ver 16)
- NestJs
- TypeScript
- Prisma (ORM)
- GraphQL
- JWT
- Node
- MySql connection (for create and use database)
DATABASE_URL="mysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:3306/{DATABASE}"
JWT_SECRET=tokenSecret
#JWT_EXPIRATION_TIME: s-seconds / m-minutes / h-hours / d-days
JWT_EXP_TIME='1d'
# install dependencies
$ npm install
# install Prisma cli
$ npm install --location=global prisma
# create database (in MySql) from Prisma schema
$ npx prisma db push
# gererate Prisma db client
$ npx prisma generate
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
http://localhost:3000/graphql
# Create a new user
mutation {
signup(loginUserInput: {username: "user@gmail.com", password: "dgh4fdshfg"}) {
id
email
}
}
# Login
mutation {
login(loginUserInput: {username: "user@gmail.com", password: "dgh4fdshfg"}) {
user{
email
}
accessToken
}
}
# List all users
query {
usuarios {
id
email
}
}
# Get a user
query {
usuario(id: 5) {
id
email
}
}