Skip to content

A web application to generate and create custom animal memes

License

Notifications You must be signed in to change notification settings

Code0Em/animal-meme-generator

Repository files navigation

Bark vs. Meow: The Battle for the Couch

Contents

Description

Bark vs. Meow is a fun meme generator which provides people a fun way to create cat or dog based memes in their web browser.

This project fullfils the criteria of building a a performant and scalable front-end single-page (React) application that fulfills a real-world need, with a focus on data and user demand. It features a clean and responsive user interface and utilises HTML, CSS, Bootstrap, JavaScript, React, Node.js.

Bark vs. Meow makes use of two APIs which provide images and associated breed information to the application: TheCatAPI and TheDogAPI.

Design

Initial wireframe and design stages Design studies

Landing Page, mobile and Desktop Landing Page, mobile and Desktop

Android screenshots, meme pages Android screenshots, meme components

Mac screenshots, cat page Mac screenshots, cat component

Mac screenshots, dog pages Mac screenshots, dog component

Usage

Access the deployed application at the following URL: https://animal-meme-generator.netlify.app

Bark vs. Meow runs in the browser and allows users to generate a new meme via a button depending on their preference: a cat or a dog. The associated API is then called and returns an image along with associated breed information. The user can then populate the meme with any text of their choice.

Once a meme has been completed by the user, they can save their meme locally (to the browser) and later retrieve it by clicking on the image on the page.

Bark vs. Meow has an aesthetically pleasing and accessible user interface which utilises Bootstrap as well as taking into account accessibility concerns such as utilising an accessible colour scheme, semantic HTML, alt attributes and ARIA labels.

Built with

Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge Static Badge

Testing

Following a Behavior-Driven Development (BDD) methodology, Bark vs. Meow uses Vitest with React Testing Library for testing the application's behaviour. During development, the following behaviours were tested:

  1. The App component renders without throwing an error.
  2. The cat and dog buttons render in the App component.
  3. When the user clicks the cat or dog button, input fields (for the meme text) are rendered.
  4. The meme image is rendered in the Meme component.
  5. When the user clicks the start again button, the cat and dog buttons are rendered (again).

At the time of publishing this README, all tests pass:

Screenshot of the terminal displaying test results, shows 4 tests run and all passed

Contributors

codeswitchstudio: https://github.com/codeswitchstudio

Code0Em: https://github.com/Code0Em

dami-ani: https://github.com/dami-ani

kbearne: https://github.com/kbearne

yasmiinanon: https://github.com/yasmiinanon

Credits

Design Resources

Technologies

Other

All other credits are cited in the code comments and referenced below.

License

License: MIT

Select the badge or visit the LICENSE.txt (above) for more information.

References

DEV Community (2024) Introduction to Testing React Components with Vite, Vitest and React Testing Library.

freeCodeCamp (2022) How to Write Unit Tests for React Apps.

Timothy Amo (2021) Testing Conditional Render In React.

About

A web application to generate and create custom animal memes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published