Jefferson Frank Tech Assessment
Project Description
This project is my response to a technical skills assessment set by Jefferson Frank International, as part of their recruiting process.
I will create a single page application (SPA) in ReactJS, which will retrieve data from a public API, and output it in a well designed manner.
For this purpose, I will be using the Spoonacular API.
The app will allow a user to enter a food name, it will be looked up on the API, with an image, description, and possibly recipe list for the meal.
Project Links
https://github.com/RecodeExistence/KitchenPal
Wireframes
Description: Simple MVP layout with search bar, display sections for food image and food description/recipe. Logo and Name for App at top.
API
This project will use the Spoonacular Food API at: https://spoonacular.com/food-api
Provide a small code sample of the returned data that you will use to build your app. TODO
MVP/PostMVP - 5min
The functionality will then be divided into two separate lists: MPV and PostMVP. Carefully decided what is placed into your MVP as the client will expect this functionality to be implemented upon project completion.
MVP EXAMPLE
- Take user input. (a food or recipe name).
- Retrieve meal/recipe data from API based on input
- Display meal/recipe on the page.
- Display an image of the meal on the page.
PostMVP EXAMPLE
- 'What's cooking?' button: returns a random meal or recipe.
- Meal list: Allow user to save favourite meals/food lists.
React Component Hierarchy
Define the the React components and the architectural design of your app.
Component Table
Writing out your components and its descriptions isn't a required part of the proposal but can be helpful.
Component | Description |
---|---|
App | STATEFUL: This will make the initial data pull and include React, React-DOM and React Router |
Logo | STATELESS: This will render the logo. |
FoodImage | STATELESS: This will render the returned image of food. |
FoodDetail | STATELESS: This will render the food name returned, along with a short description and recipe. |
SearchBar | STATELESS: This will take the user input to be used in fetching data from the API. |
Component Development TimeScales
Timescales are key in the development cycle. These will be estimated, with a little extra time for padding.
| Component | Priority | Estimated Time | Time Invested | Actual Time | | --- | :---: | :---: | :---: | :---: | Estimates to follow.
Additional Libraries
Will be added here as required. (Possibly Tachyons for a start.)
Issues and Resolutions
Any issues will be documented correctly via the project repo issues page.
#1
#2