Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pedrolaraburu/learn_graphql
Coopersystem back-end challenge for interns.
https://github.com/pedrolaraburu/learn_graphql
apollo-graphql docker graphql nodejs prisma
Last synced: about 1 month ago
JSON representation
Coopersystem back-end challenge for interns.
- Host: GitHub
- URL: https://github.com/pedrolaraburu/learn_graphql
- Owner: pedrolaraburu
- Created: 2023-12-12T22:28:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-28T13:12:07.000Z (about 1 year ago)
- Last Synced: 2024-04-23T06:19:47.753Z (9 months ago)
- Topics: apollo-graphql, docker, graphql, nodejs, prisma
- Language: TypeScript
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GraphQL Challenge
This repository is a training ground for learning and implementing GraphQL with Apollo, Prisma ORM, Docker, and Jest. It's designed to provide hands-on experience with CRUD operations in a GraphQL environment.# Challenge Objectives
- Implement CRUD operations using Apollo GraphQL.
- Utilize Prisma as an ORM.
- Containerize the application using Docker.
- Write unit tests with Jest (Work In Progress).
- Implement authentication and authorization.# Prerequisites
- **Node.js**: v18.17.1+
- **Docker**: v24.0.6+# Setup
```bash
# Clone this repository
git clone https://github.com/pedrolaraburu/learn_graphql
# Navigate to the project repository
cd learn_graphql
# Build your containers and start them
make build
```## Generating a secret key
```bash
# When first executing `make build` a secret key will be added to your .env file
# But in case you want to generate it manually please execute the command below
openssl rand -hex 32
# Don't forget to paste it into your .env file
```
## Environment Variables
```bash
DATABASE_URL="postgres://user:password@localhost:5432/dbname?schema=public"
SECRET_KEY = "" # Paste your generated secret key here
```## Extra
```bash
# Show available makefile commands
make
```