Skip to content

n0land0/fact-distract

Repository files navigation

fact • distract

Build Status

Deployed App

Abstract

With Thanksgiving quickly approaching, many people are dreading the extremely awkward dinner-table conversations in their near futures. fact • distract provides users with a plethora of randomly generated dumb facts to make quickly changing the subject a breeze. Users who might want to curate a list in advance have the ability to save facts to a list for later use.

Snapshots of Application

Landing page (sunrise mode)

Screen Shot 2021-11-15 at 12 22 04 AM

Landing page (dusk mode)

Screen Shot 2021-11-15 at 12 22 15 AM

Landing page (mobile)

Screen Shot 2021-11-15 at 12 25 15 AM

Saved facts page

Screen Shot 2021-11-15 at 12 22 39 AM

Saved facts page (mobile)

Screen Shot 2021-11-15 at 12 27 13 AM

Landing page - user can generate and save new dumb facts and view their recent history

Saved facts page - user can see facts they've previously saved

Dropdown menu - user can toggle between two color modes (sunrise & dusk)

Architecture Notes

  • As this project was built with SCSS, all stylesheets are contained within the src/styles directory
  • Dynamic styling for dark/light mode and animations are also contained within the src/styles directory
  • Component directories are nested within the directories of their parent components to mirror the code architecture
  • All routes defined in index.js
  • App/AppContextProvider contains all props and type validation

Technologies

Front End

React React Router SCSS Cypress

Dependencies

Wins

  • Building with Context from the beginning of the project, for both data and styling
  • Hitting the ground running with Router 6 just a couple days after it was released
  • Getting my first responsive design for mobile done
  • Getting familiar with GSAP

Challenges

  • Data coming from this API frequently contained inconsistent punctuation, curious formatting, wildly varied sentence length, and some extremely long words; this required a thorough data-cleaning function tacked onto the fetch call to make responses consistently presentable on the page
  • Writing tests for incoming data was challenging, partly because it was randomized and partly because it was animated on the page and the timing became hard to predict
  • Had to take a couple days off, as a very full work slate and extremely taxing previous project had led to serious burnout, so this project timeline was shorter than I'd have liked

Viewing & Installation

The deployed app can be viewed here.

If you'd like to run this repo locally:

  1. Clone down this repository
  2. In your terminal, run:
npm install
npm start
  1. If you're not automatically navigated to localhost:3000 from your terminal, visit it in your browser
  2. Get ready to learn some dumb facts

Future Features

  • Different language options
  • Back end to handle user accounts
  • Progressive web app

Contributors

Project Spec

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published