#AZdev Web App
##Project Description AZdev is short for "A to Z" of developer resources
AZdev is a searchable library of practical micro-documentation, errors, solutions and general tips, that software developers may perform on a day-to-day basis.
It is a library of what developers usually look up, a quick way for them to find concise approaches to to certain software development tasks.
The particular thing developers would like to do is known as a Task, while process of performing that Task is known as a Approach. A task can have multiple approaches and an approach belongs to a task
Anyone can browse AZdev for tasks & approaches Logged-in users can add new Tasks and Approaches as well as up-vote or down-vote approaches The main entries for both tasks & approaches and user records are stored in PostgreSQL, while extra data elements like explanations, warnings and general notes will be stored in Mongo DB
The project is intended for demo purposes only so as to demonstrate the ability to perform certain GQL specific abilities and is not a production ready web app.
The project is from the book GraphQl in action by Samer Buna
##Purpose The purpose of the project is to demonstrate the ability to:
- Designing SDL & object-based schemas in accordance with the envisioned UI
- Designing database models
- Create a data-API using GraphQL
- Implementing Schema resolvers
- Generating SDl from object-based schemas
- Connect to multiple database storage services
- Handling data response errors
- Resolve relations
- Understanding the n + 1 query problem
- Data-loading optimizations with data loader
- Implementing Mutations
- Implementing basic login/logout functionality
- Using GQL APIs without a client library
- Using GQL APIs with a client library (Apollo-client)
- Implementing Subscriptions
##TechStack
- Front-end: HTML, CSS, JS (ES6+), React
- backend-end: Node JS, GQL
- Databases: Mongo DB(document database service for dynamic data), PostgreSQl (relational database service for transactional data)
##Instructions