|
1 | 1 | # Ravelin Front-End Code Test |
2 | | -Build a simple interface to search for venues in London using the Foursquare API. |
| 2 | + |
| 3 | +Build a simple interface to search for museums using the Photon API. |
3 | 4 |
|
4 | 5 | ## User Story |
5 | | -A user visits a website with two text fields: |
6 | 6 |
|
7 | | -- Authentication Key (an API key for the Foursquare API) |
8 | | -- Venue Name |
| 7 | +A user visits a website with an input field. |
9 | 8 |
|
10 | | -After entering an authentication key and venue name, the user is presented with a list of venues to choose from. Clicking on a venue in the list should display details about the venue, such as the venue's address or category. |
| 9 | +After entering a search term, the user is presented with a list of museums to choose from. Clicking a museum in the list should select it and display the museum's full address. |
11 | 10 |
|
12 | | -The website should cache search results for five minutes. When the user searches for a venue name that has been previously queried within the last five minutes, the page should display cached results rather than performing a new request to the Foursquare API. |
| 11 | +The website should cache search results for five minutes. When the user enters a search term that was previously queried within the last five minutes, the page should display the cached results rather than performing a new request to the Photon API. |
13 | 12 |
|
14 | 13 | ## Requirements |
| 14 | + |
15 | 15 | - App must work as described in the User Story. |
16 | 16 | - Showcase your CSS chops. Try and do some amount of original CSS styling. |
17 | 17 | - Include a README alongside your code test detailing how to run it. |
18 | 18 |
|
19 | 19 | This repo includes a basic scaffold using [vite](https://vitejs.dev/guide/) which you are welcome use as a starting point — just run `npm install` and then `npm run dev` to get started. However, if you'd prefer to use something else, feel free to use any library or framework of choice. |
20 | 20 |
|
21 | | -Follow the directions from the recruiter on how to submit the exercise. Please do not publish your code publicly on GitHub or any other site. :warning: |
22 | | - |
23 | 21 | ## Nice to haves |
| 22 | + |
24 | 23 | - TypeScript Support |
25 | 24 | - Unit Tests |
26 | 25 |
|
27 | | -## Resources |
| 26 | +## Submission |
| 27 | + |
| 28 | +- Please do not add your name, username, email address, or any other identifiable information into your code or README. We anonymise submissions prior to code review. |
| 29 | +- Do not use public source control (e.g. a public GitHub repository) or publish your solution online. |
| 30 | +- Follow the directions from the recruiter on how to submit the exercise. |
28 | 31 |
|
29 | | -#### Obtaining Foursquare Credentials |
30 | | -To get access to the Foursquare API you need to create a developer account. Follow the steps in the [Foursquare docs](https://location.foursquare.com/developer/reference/places-api-overview) to: |
31 | | -- Sign up |
32 | | -- Create a new project |
33 | | -- Generate an API key |
| 32 | +## Resources |
34 | 33 |
|
35 | | -#### Authentication |
36 | | -To authenticate a request to the Foursquare API, the authenication key should be passed in the `Authorization` header. See the [authentication docs](https://location.foursquare.com/developer/reference/authentication). |
| 34 | +[Photon](https://photon.komoot.io/) is a free, open source geocoder using OpenStreetMap data. You are welcome to use the demo server for your project as long as the number of requests stay in a reasonable limit. |
37 | 35 |
|
38 | | -#### Foursquare Nearby Places Endpoint |
39 | | -- [Foursquare docs](https://location.foursquare.com/developer/reference/places-nearby) |
40 | | -- https://api.foursquare.com/v3/places/nearby?ll=51.509223%2C-0.113492&query={venueName} |
| 36 | +- [Photon API docs](https://github.com/komoot/photon/blob/master/docs/api-v1.md) |
| 37 | +- Example request: https://photon.komoot.io/api/?q=art&osm_tag=tourism:museum |
0 commit comments