Skip to content

This repo contains an application named Seeker, it lets you search through a immersive Comic Book characters database.

License

Notifications You must be signed in to change notification settings

leoronne/seeker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


License GitHub last commit GitHub top language

Project   |    Techs   |    General Information and Functionalities   |    Installation   |    Start   |    Test   |    Contributing   |    License


Project 🌟

Seeker is a basic search engine that let's the user navigate through a huge Comic Book characters database, based on the Game Spot (Comic Vine) public API.

The user can also edit basic information about the character and add it to his favorites list (although, it's stored on the local storage of the browser).


Deployed here.





Techs 🚀


General Information and Functionalities ℹ️

Since the Comic Vine has a CORS policy, this application uses a backend service to make the requests to the Comic Vine API (server side). So the front-end makes the requests to the backend server and the backend handle the requests to the real API and returns the data.

The application has two languages implemented (Portuguese-BR and English-USA), the user can easily alter it on the Header of the page. But it doesn't affect the data received from the API (since Comic Vine does not have this functionality implemented, unfortunatelly).

On the Homepage the user can control the pagination and records shown per page, the default is set to 10 to not overload the API response (I preferred to implement this instead of the "View Results" button, so the user can control what he actually wants to see and how). He can also see some basic character's information (thumbnail, name, and publisher) and add/remove it from his favorite list.

The user can also filter the results by name and those which are on his favorite list.

On the Character Info page, the user has the hability to alter the character's data (name, real_name, aliases, origin, gender, publisher, count_of_issue_appearances and birth) and add the character to his favorite list, these changes persist in the Redux state throughout the entire application.

There is also a Not Found Page if the user tries to access a route that doesn't exists.


Installation 🔧

First you need to clone the project using git clone https://github.com/leoronne/seeker.git.

Then you can install the application using npm install or yarn install on the client and server directory.


Start 🔛

To start the application interface just run npm run start:web or yarn start:web on the root dir of this repo.

To start the application server just run npm run dev:server or yarn dev:server on the root dir of this repo.

Note: you need to create a .env file on the server directory and one on the client directory based on the example files.

You can generate the Comic Vine API Key here.


Test ✔️

Only the front-end of this application has tests implemented.

To run it, just run npm run test:cover or yarn test:cover on the client directory, it will generate a coverage report on the same dir.


Contributing 🤔

Please read CONTRIBUTING for details on code of conduct, and the process for submitting pull requests to the project.


License 📝

License