In this project, let's build a Meme Generator app by applying the concepts we have learned till now.

Refer to the image below:


meme-generator

Design Files

Click to view

Set Up Instructions

Click to view
  • Download dependencies by running npm install
  • Start up the app using npm start

Completion Instructions

Functionality to be added

The app must have the following functionalities

  • Initially, values in the inputs elements should be empty and the selected value in the select element should be the first item in the given fontSizesOptionsList
  • When non-empty values are provided for Image Url, Top Text, Bottom Text, and Font Size and the Generate button is clicked
    • The Image URL that has been provided should be applied as a background-image for the generated meme
    • The given Top and Bottom text values should be at the top and bottom of the generated meme
    • The selected font size value should be applied for both top and bottom text of the generated meme
Implementation Files

Use these files to complete the implementation:

  • src/App.js
  • src/components/MemeGenerator/index.js
  • src/components/MemeGenerator/styledComponents.js

Important Note

Click to view

The following instructions are required for the tests to pass

  • The HTML container element for the generated meme should have data-testid attribute value as meme
  • When Styled Components are used, data-testid attribute should be used instead of testid attribute

Resources

Image URLs
Colors
Hex: #35469c
Hex: #7e858e
Hex: #5a7184
Hex: #ffffff
Hex: #d7dfe9
Hex: #1e293b
Hex: #0b69ff
Font-families
  • Open Sans

Things to Keep in Mind

  • All components you implement should go in the src/components directory.
  • Don't change the component folder names as those are the files being imported into the tests.
  • Do not remove the pre-filled code
  • Want to quickly review some of the concepts you’ve been learning? Take a look at the Cheat Sheets.