BennettDixon / book_query_app

In this project I will be experimenting with React, Django, Postgres, and primarily GraphQL to get a better understanding of how to implement GraphQL in future projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🐚 Learning GraphQL by building a book query API 🐚

In this project I will be using GraphQL primarily to experiment with alternatives to RESTFUL design practices. I will also be using react and Django, both of which I have minimal experience with to further my learning in other frameworks.

This project was created using a tool I built: synth

πŸƒ Getting Started

⚠️ Prerequisites

  • Must have git installed

  • Must have docker installed

$ sudo apt-get install git

πŸ”§ Setup

Clone the project

git clone https://github.com/BennettDixon/book_query_app;
cd book_query_app;

Run the container network, this will build them the first time so be patient while images are downloaded and containers are built

docker-compose up -d

Locate the postgres container id using

docker ps

Execute the following, substituting your postgres container id. This will setup a user and database in your postgres container. You only need to do this once unless you delete the docker-compose volume mount or the postgres data on your local machine.

docker exec -it <container-id> psql -U postgres -f /app/postgres_setup.sql

Visit the GraphQL endpoint localhost:8800/graphql and play with GraphQL Queries!

Feel free to add objects to the /nginx_router/backend/books.json file for further testing! They will be loaded in each time you boot the containers.

Shutting it down

docker-compose down

πŸ“˜ Authors

πŸ” License

This project is licensed under the MIT License - see the LICENSE.md file for details

πŸ“£ Acknowledgments

  • Holberton School & Docker for the pass to DockerCon 2019!

About

In this project I will be experimenting with React, Django, Postgres, and primarily GraphQL to get a better understanding of how to implement GraphQL in future projects

License:MIT License


Languages

Language:Python 56.3%Language:JavaScript 27.9%Language:Dockerfile 5.1%Language:HTML 4.7%Language:Shell 3.4%Language:CSS 2.6%