vahidkk / breweries

Just a homework - Demonstrating infinite loading by scrolling down

Home Page:http://breweries-xi.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Osedea Coding Challenge

Hi there, thanks for applying to Osedea! We're happy you've made it this far. Read the instructions below carefully before you begin.

We don't expect you to spend more than 2-3 hours on this Challenge. If you are enjoying yourself, and time permits, you are welcome to spend as much time as you would like. If you don't have enough time to finish what you wanted to implement, add your final thoughts in the documentation.

The Challenge

You are Osedea's newest employee and you've been tasked with building a web app for a client:

Brewery Index

The client wants to create a web app that allows users to browse and view breweries. They have proposed using this API.

Guidelines: what we're looking for

In short, we're looking at two main evaluation criteria: code & documentation.

Code

  • You must have two pages/views:
    • One page for looking through the list of ALL breweries (note, the API may not return ALL results unless asked)
    • One page for viewing the details of each brewery
    • This means I should be able to browse through the list and be able to click on any given one to view more details
  • You don't need to show all the details of all/any breweries, show some of the most relevant or whatever is most interesting
  • Semantic UI React is included to provide some base components & styling, although you are free to not use it.
  • Feel free to refactor or modify this project in any way you feel is necessary, within reason. However, please try to avoid changing the programming stack used and/or restarting the project from scratch.
  • You are limited only by your imagination (and what the API can do)!

Too easy, why not implement the following?

  • Ability to filter the breweries:
    • A search field
    • At least two filters based on the data provided for each brewery
  • Proper error handling for the following cases:
    • A 404 on a brewery
    • No results found for the search
    • One server or bad request error

Documentation

You will also need to provide documentation to the client and your team so they can better understand the application that you've built, your approach to solving it and the decisions you took while building it. There's a blank document for you to use here.

You should document as many of the following as applicable:

  • how you approached the problem
  • explain your reasoning behind any technical decisions you made (for example: libraries, coding paradigms used, etc)
  • best practices or changes you would make if this were a real production app
  • any learning resources used
  • if some steps were not completed, the steps you would have taken in your approach to complete them.
  • any major issues encountered and the solutions found (or not)

If you get stuck or are unable to complete, try to explain what happened, what you did to try to resolve it, and how you would've finished the rest of the challenge.

Prerequisites (need to be installed)

  • git
  • node

Getting started

  • Clone this repository/project to your computer
  • Install dependencies using yarn (or npm install)
  • Run the project using yarn start (or npm start)

Submitting

Push your code back to Gitlab.com on a branch other than main. Make a Merge Request (also known as Pull Request) to the main branch and someone on the team will review it (no need to tag anyone).

Do not fork the project as we will no longer have access to the code if/when you are removed from the project. We ask that you do not publicly post this in order to keep it fair for future applicants.

That's all! Good luck & thank you for your participation!

About

Just a homework - Demonstrating infinite loading by scrolling down

http://breweries-xi.vercel.app


Languages

Language:JavaScript 91.3%Language:HTML 8.7%