Skip to content

elrashid24/medium-well

Repository files navigation

Medium Well

Screen Shot 2019-12-09 at 2 25 09 PM

Live Demo

Medium Well is a website that allows users to share their favorite conspiracy theories with the world, akin to Medium.com. The site uses a PostgreSQL database and a Ruby on Rails backend. React.js leveraged with Redux is used on the frontend.

More features coming soon!

Features

  • Login: A secured backend that prevents unauthorized user interaction from within the app
  • Splash Page: Displays and updates all stories that meet publication criteria in real-time
  • New Story Page: Allows logged in users to submit their own conspiracy theory
  • Story Show Page: Displays an individual story, as well as its claps (likes) and comments
  • User Show Page: Displays all stories contributed by the user who is currently logged in
  • Comments: Gives logged in users the option to comment on stories

Home Page

Stories on the home page are separated using 3 react components displayed using flex

Screen Shot 2019-06-21 at 4 58 26 PM

User Show

A logged in user can view a list of all stories they've published since joining

Screen Shot 2019-06-21 at 5 00 08 PM

Log In & Sign Up

An interactive modal that lets new users create an account or demo the site

Screen Shot 2019-06-21 at 4 59 31 PM

Challenges

  • Maintaining organized and accessible slices of global state to avoid repetitive prop threading between React Components
  • Conditionally rendering different slices of global and local state within the same component depending on if a user is signed in
  • Allowing for scalability of both stories and pictures without compromising stylistic integrity

Snippets

The function bellow was used to ensure that all AJAX promises were returned in JavaScript native formats
Screen Shot 2019-06-21 at 5 02 13 PM

API calls were then leveraged with the above function

Screen Shot 2019-06-21 at 9 15 46 PM

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages