Skip to content

jaydee029/poke-it

Repository files navigation

poke-it

POKE-IT is a REPL command line game, it fetches directly from the PokeApi in real time, the users can traverse various worlds , capture pokemons if there powers permit, lookup statistics for captured pokemons, etc. it stores the data in a real time custom cache implemented using Sync mutexes increasing the efficiency of the program.

Usage

  • poke-it help: "displays cli commands"
  • poke-it map: "displays Location Areas"
  • poke-it mapb: "displays previous Location Areas"
  • poke-it catch: "Catches the pokemon present in the area"
  • poke-it inspect: "displays info of previously caught pokemon"
  • poke-it explore: "displays pokemons in the Location Area"
  • poke-it pokedex: "displays all the pokemons caught"
  • poke-it exit: "exits cli"

Build It Locally

It requires golang to be installed and available on the command line client.

clone the repository and select the folder

git clone https://github.com/jaydee029/Poke-it
cd Poke-it

Build the executable and run the executable to start the REPL backend For unix based systems/WSL

go build -o pokeit
./pokeit

For windows cmd

go build
poke-it.exe

For the program to be globally available add the executable to your system path, and call it from anywhere in the system.

Salient Features

  • Custom Cache Implementation: Caching has been implemented from scratch for this program, Sync mutexes has been used for this purpose , which store the data in a key value pair format in the form of bytes, for a certain time period. If a user enters a command , the program first checks the chache , if the key-value pair exists then data is displayed else, the program fetches it from the api.
  • Platform Agnostic: The program is platform agnostic, ie it works for most of command line clients , including the ones based on windows/Unix/Mac type operating systems. The only requirement being that Golang is installed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages