Project | Techs | General Information and Functionalities | Installation | Start | Test | Contributing | License
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.
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.
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.
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.
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.
Please read CONTRIBUTING for details on code of conduct, and the process for submitting pull requests to the project.
- MIT license;
- Copyright 2020 © Leonardo Ronne.