Skip to content

Reactjs Search (development test) application to demonstrate claimed knowledge

Notifications You must be signed in to change notification settings

ilivinus/nextbid_search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Setup Requirements

  • Nodejs >= 8.0v
  • npm

Steps to run the application

  • Clone the repository and navigate to the project root directory using your command prompt or terminal (bash shell).
  • Run npm install to install the node modules.
  • Run npm start to run the app in the development mode.
  • Open http://localhost:3000 to view it in the browser.

Steps to run the Test

  • From command prompt, run npm test in the project root directory. This launches the test runner in the interactive watch mode

You can click here to visit the site

Description on the Choices made

    • Choice : I separated the components into presentational components (how things look) and container components (how things work).
    • Reason : This is to enhance unit testing since concerns are separated.
    • Choice : I used debounce in the search field to handle text change
    • Reason : This is to ensure that the web api doesn't get called too frequently.
    • Choice : I implemented search suggestion functionality.
    • Reason : This is to enhance user experience (UX).
    • Choice : Mobile first design. The applicaiton is responsive.
    • Reason : The percentage of mobile users is always higher.
    • Choice : Centralization of the configuration.
    • Reason : This is to ensure one source of truth for the applicatio configuration.
    • Choice : Always grouped the css, container, component, test of a particular component in one folder.
    • Reason : This is for easy module referencing and confusion reduction especially when it comes to identifying what asset belongs to which component.
    • Choice : I used only frontend framework
    • Reason : There is no API Key to warrant using backend technology for security reasons since the web API is open.
    • Choice : I used reactjs
    • Reason : It is open source and simplifies creating of reusable components.
    • Choice : I did not use redux or any other state managment library.
    • Reason : This is a small application and sharing of state between components that are far apart in the component tree is not experienced. Again I wanted to keep things simple.

About

Reactjs Search (development test) application to demonstrate claimed knowledge

Resources

Stars

Watchers

Forks

Packages

No packages published