Skip to content

This is the app written as a part of recruitment process. Browse breed list, investigate breed description and picture, navigate with stateful navbar, find breed by name.

Notifications You must be signed in to change notification settings

g-marcin/woof-app

Repository files navigation

Live:

Firebase:

https://woof-app-ff670.web.app

Netlify:

http://www.woof-app2.netlify.app

Warning! netlify limits some of the functionalities(random picture, search)

Uwaga! netlify ogranicza niektóre funckcjonalności(losowy obraz, wyszukiwanie)

Instalation:

  1. Clone github repository
  2. npm install
  3. npm start

EN:

react-router & custom hooks

I used react router to enable navigating between diferent pages. Each page with content uses custom hook and request required data

eg. useDogList hook gets breeds & subBreeds list and pass to DogList component

Axios

Axios http-client was used for http requests as it will be more easy to customize request options in the future and improve the app

i18-next

I added i18 next translation to show i am aware of this library and importance of internationalization process.

svg-icons

I used svg icons manually downloaderd from font-awesome website

form-api

I used form tag to enable submit on ENTER click

input-validation

I added simple built-in validation with input required attribute

css-modules

I used separate css-module for each component to support style encapsulation.

css-variables

I used css-variables to collect colors in one place. They may be changed easily

PL:

react-router & custom hooks

Zastosowałem react-router do zmiany stron, strony z danymi pobierają je za pomocą custom-hooków

np useDogList hook pobiera liste ras i pod-ras psów. Następnie dane wyświetlane są w komponencie DogList

Axios

Użyłem http-clienta żeby łatwiej wysyłać żądania do API oraz umożliwić zmianę opcji żądań(np. nagłówków) w przyszłości

i18-next

Dodałem tłumaczenia przez biblotekę i18-next żeby pokazać że kojarzę temat internacjonalizacji

svg-icons

Użyłem ikon w formacie svg pobranych ze strony font-awesome

form-api

Użyłem html tagu form żeby w prosty sposób umożliwić wysyłanie submitu po kliknęciu ENTER

input-validation

Dodałem prostą validację do imputu za pomocą atrybutu required

css-modules

Użyłem css modules żeby rozdzielić style do odzielnych plików co zapewnia enkapsulację styli

css-variables

Użyłem zmiennych css żeby w prosty sposób można było edytować kolory aplikacji

About

This is the app written as a part of recruitment process. Browse breed list, investigate breed description and picture, navigate with stateful navbar, find breed by name.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published