Skip to content

bbcmaestro/react-native-search-code-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

React Native Search Coding Challenge

Objective

Create an Expo React Native application that consumes an existing Algolia Search index. The app should include a search input and an area for displaying the results.

Example Course Object

{
  "title": "Writing Children’s Picture Books",
  "image": "https://assets.cdn.bbcmaestro.com/55ed4ddb862ddaf992bb802ab30d393c.jpeg",
  "slug": "writing-children-s-picture-books",
  "state": "published",
  "preorder": false,
  "path": "/courses/julia-donaldson/writing-children-s-picture-books",
  "maestro_section_body": "You couldn’t ask for a more qualified teacher. Julia’s books have sold more than 100 million copies worldwide, won too many awards to list and been adapted into eight award-winning animated films. And she’s a former Children’s Laureate to boot. So soak up the wisdom and insight from this formidable writer and her frequent collaborators – including her agent, her editor and The Gruffalo illustrator, Axel Scheffler.",
  "maestro": {
    "first_name": "Julia",
    "last_name": "Donaldson",
    "full_name": "Julia Donaldson",
    "image": "https://assets.cdn.bbcmaestro.com/55ed4ddb862ddaf992bb802ab30d393c.jpeg",
    "slug": "julia-donaldson",
    "state": "published"
  },
  "lessons": [
    {
      "title": "Writing Children's Picture Books Introduction",
      "image": "https://assets.cdn.bbcmaestro.com/a7db54344438e14ff5ec483a2ab2b583.jpeg",
      "position": 0,
      "duration": 5,
      "state": "published",
      "path": "/courses/julia-donaldson/writing-children-s-picture-books/lessons/writing-children-s-picture-books-introduction",
      "keywords": [
        "picture book",
        "writing",
        "characters",
        "plot",
        "language",
        "illustrator",
        "author",
        "lesson",
        "course",
        "children",
        "words",
        "story",
        "idea",
        "publication",
        "creation",
        "inspiration",
        "artist",
        "education",
        "art",
        "music",
        "poem",
        "scheme",
        "novel",
        "partner",
        "illustration",
        "adventure",
        "exercise",
        "skills"
      ]
    }
  ]
}

Algolia API Details

Application ID: Shared separately
Search API Key: Shared separately
Index Name: courses

User Stories

Search Input

As a user, I want to enter a search query into a search input field so that I can find courses relevant to my interests.

Real-Time Search

As a user, I want the search results to update in real-time as I type so that I can see immediate feedback and find courses more efficiently.

Display Results

As a user, I want to see a list of courses that match my search query so that I can quickly browse through the available options.

Course Information

As a user, I want each search result to display the course title as the primary heading and the maestro's full name as a subheading so that I can easily understand the course offerings.

No Results Handling

As a user, I want to see a message indicating no results were found when my search query does not match any courses so that I understand there are no available options for my search criteria.

Error Feedback

As a user, I want to see an error message if there is an issue with the search (e.g., network error) so that I know something went wrong and can try again later.

Other Considerations

Accessibility

Ensure the mobile application's accessibility by incorporating proper labeling and accessible elements for screen readers, implementing adequate color contrast, and ensuring text readability.

Performance

Implement best practices to maintain optimal performance as real-time results are updated in the application.

Useful Links

React Native Docs

Expo docs

Algolia docs

Questions and Feedback

Questions or feedback on how we can improve this challenge are always welcome.

About

React Native Search Coding Challenge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published