GithubHelp home page GithubHelp logo

alif-munim / graphql-start Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 2.05 MB

Getting familiar with GraphQL.

Home Page: https://obscure-mesa-68334.herokuapp.com/

JavaScript 87.53% HTML 11.09% CSS 1.37%

graphql-start's People

Contributors

alif-munim avatar

Watchers

 avatar  avatar

graphql-start's Issues

Add documentation

Details

Create README.md containing documentation for customer-server, apollo-react, and graphql-pokemon.

Add pokemon descriptions

Description

Add a short description about a selected pokemon in the PokemonInfo component. Update the pokemonSpecies query to retrieve flavor_text fields.

Set up project

Description

Install the required packages and set up a local express server with GraphQL. Create basic object types and hard code some data to test.

Packages:
npm install express express-graphql graphql nodemon

Add color-coding

Add color-coding based on whether or not missions were a success or failure.

Create documentation

Write some notes about what GraphQL is, differences from a REST API, how to use it, etc.

Remove search and filter from App component

Details

Search and the numerical filter are currently displayed on all site components, including PokemonInfo, where they are not functional. Move these into a separate component and render that from App.js instead.

Center search form

Details

The search form on the site homepage is currently left-aligned. Align center.

Update stat styling

Details

Update styling for the statistics section of the PokemonInfo component from default bootstrap list.

Create SinglePokemon component

Details

Create SinglePokemon component with a gql query that retrieves the name, sprite, and type. Map each element of the data received in the query of MultiPokemon to a SinglePokemon. Display cards with name, sprite, and type.

Enable search

Details

Use react useState and useEffect hooks to create a button to show search bar. Enable live-searching by using value entered in search box to display matching pokemon.

Add link to homepage

Details

There is currently no way to navigate back to the homepage other than the Back button at the bottom of the PokemonInfo component, which is not always immediately noticable. Use react-router-dom.Link to wrap the site header in a Link back to the homepage using the "/" route.

Update type styling

Details

Update default bootstrap badge styling for pokemon types. Assign a new color indicator for each type.

Create graphQL server for PokeAPI

Create a simple express server with GraphQL, along with a schema for requesting a list of pokemon as well as individual pokemon and their respective properties.

Prepare & deploy

Prepare required build scripts, code changes, files, and directories and deploy to Heroku.

Begin SpaceX App

Description

Apply GraphQL knowledge to make requests to the SpaceX API and retrieve data about launches and rockets.

Create PokemonInfo component

Details

Create a PokemonInfo component to display detailed pokemon information. Use react-router-dom to link between different site pages.

Implement useState and useEffect hooks to display pokemon

Details

  1. Use the useState react hook in the App component to track component state inside of a form that takes numerical input. Pass this input as props to the MultiPokemon component, which is rendered through react-router-dom's render property.
  2. Use the useEffect react hook in the MultiPokemon component so that the number of SinglePokemon components rendered reacts to the value of the num prop.
  3. Rewrite the gql query inside of the MultiPokemon component so that it takes an Integer variable. Use the num prop that was passed through App to MultiPokemon as a variable in the Query component.

Implement EvolutionChain component

Details

  1. Create a new pokemonSpecies query that retrieves an API endpoint for an evolution chain
  2. Create an new evolutionChain query that retrieves a nested chain of pokemon evolutions:
  3. Create a Species component to make a pokemonSpecies query and house an EvolutionChain component. This component will be passed a url from its parent PokemonInfo component.
  4. Create an EvolutionChain component to make an evolutionChain query and render a SinglePokemon component for each evolution.

Deploy

Details

  1. Build react app using from the client folder:
    • npm run build
  2. Rename build folder to public and move to root.
  3. Change ApolloClient uri, add process.env.PORT, add client proxy
  4. Login to heroku, create app, and add remote
  5. Push subdirectory to heroku:
    • git subtree push --prefix graphql-pokemon heroku master

Fix Farfetch'd bug

Details

The EvolutionChain component currently causes the app to crash when a pokemon has no evolution. Fix this bug.

Add pokemon ID numbers

Details

Extend graphql singlePokemon query to include pokemon id numbers. Add id numbers to the SinglePokemon and PokemonInfo components.

Make Autocomplete react to state

Details

The AutoComplete should only display options for pokemon that are currently displayed, based on the displayNum property. Currently, it provides options for all 900 pokemon.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.