graphql-yoga-starter
graphql-yoga-starter copied to clipboard
✅ Production level graphql server using nodejs and mongodb or postgresql without prisma
Todo App - GraphQL Node Server
Features
- async functions
- Eslint - Airbnb
- Helmet and Rate limit middlewares
Databases:
Getting Started
-
git clone
+ repo URL -
cd
to repo -
yarn
- installing node packages - Create and configure a
.env
file in the root directory
Note: Make sure to create a long and random hash for SESSION_SECRET
in the .env
file
Start server
yarn dev
- start development server
yarn start
- start production server
To run eslint - find lint errors
yarn eslint
GraphQL Playground Queries & Mutations
Mutations
SignUp
mutation {
signup(
email: "🌮@🌮.🌮"
password: "🌮-tuesday"
) {
token
}
}
Login
mutation {
login(
email: "🌮@🌮.🌮"
password: "🌮-tuesday"
) {
token
}
}
Create Todo
mutation {
createTodo(
content: "I love 🌮's"
) {
_id,
content
}
}
#HTTP HEADERS
{
"Authorization": "Bearer __TOKEN__"
}
Update Todo
mutation {
updateTodo(
_id: "1",
content: "I love 🌮 tuesday"
) {
_id,
content
}
}
#HTTP HEADERS
{
"Authorization": "Bearer __TOKEN__"
}
Delete Todo
mutation {
deleteTodo(
_id: "1"
) {
_id
}
}
#HTTP HEADERS
{
"Authorization": "Bearer __TOKEN__"
}
Queries
Get Todo
query {
Todo(
_id: "1"
) {
_id,
content
}
}
#HTTP HEADERS
{
"Authorization": "Bearer __TOKEN__"
}
Get All Todos
query {
allTodos {
_id,
content
}
}
#HTTP HEADERS
{
"Authorization": "Bearer __TOKEN__"
}