Giter Club home page Giter Club logo

pokedex_v2's Introduction

PokeDex - @lukas8219

PokeDex WebApp - Feb, 2021.

Technologies

Language and Main frameWork : Java - SpringBoot, SpringCloud and Eureka Discovery.

Database: MongoDatabase Community

Architecture: Microservices

Libraries used - PokeLibrary(handmade).

MicroServices

  1. PokemonData Service ✔️
  2. PokemonList Service ✔️
  3. EvolutionChain Service ✔️
  4. Discovery Server(Eureka Server) ✔️
  5. Client Service. ✔️

PokemonData Service

INPUT Pokemon ID.

OUTPUT JSON with

  • Pokemon Name (String)
  • Pokemon ID (String)
  • All 6 Status (HasMap of String to Integer)
  • Pokemon Type ( ArrayList of Strings)
  • Evolutions (List of Pokemon - null by default calling the Service)
  • Icon URL (String)
  • Weight (Int)
  • Height (Int)
  • Abilities (ArrayList of String)

EvolutionChain Service

INPUT : Pokemon ID

OUTPUT: JSON mapping of the Evolution Chain object. This JSON contains the fields:

  • ID - with the Evolution Chain ID
  • Evolutions - with an Array of ID's relative to the subsequent pokemon evolution.

Pokemon List Service

INPUT : There are two possible inputs. A single ID input, or a ID followed by a Key "?size=".

OUTPUT :

If theres is no Key, a default list consisting of the previous, current and next Pokemon(relative to the input ID) is outputed as JSON objec containing the fields:

  • Size = pretty self-explanatory
  • pokemonList : an Array of ListItem object( with the fields Name and URL). This URL sends the client to PokemonData Service and retrieves the Pokemon Data.

If there is a Key, the list consists of all Pokemons after the ID. of Size N, arranged the same way as before.

PokeDex Client

This client has all inputs and its the integration of all microservices, facilitating all the job. There is a Cache only in the Client.

  • Api LINKs
  • /{id}
  • /list/{id}
  • /list/{id}?size=N

The ID input retrieves the Pokemon with the evolutionary chain.

#That's all for the moment! Thank you for Reading!

pokedex_v2's People

Contributors

lukas8219 avatar

Stargazers

Ricardo Giacobbo avatar Felipe Passos avatar

Watchers

 avatar

Forkers

trellixvulnteam

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.