Skip to content

chinweenie/modern

Repository files navigation

Modern

Modern is a Medium clone, a publishing platform that contains a hybrid collection of amateur and professional publications. You can view the original website here: Medium

Technologies

  • MongoDB
  • Express
  • React
  • Node.js
  • Redux
  • Cloudinary DB
  • LinkPreview API
  • Quill

Features

  • Individual users can create accounts to sign with an email address. The Demo Modern button allows users to sign in without an account. demo-login
  • User authorization functionality allows the site to seemlessly restrict content based on login status.
  • Stories can be created, read, updated, and deleted.
  • Profiles can also be created, read
  • A feed that shows published stories feed
  • Upload/delete profile picture feed
  • An intergrated editor that allows formatting/uploading pictures/embed url editor
  • Users can "clap" stories (similar to likes or upvotes) clap
  • Users can leave responses (comments) on stories response
  • Actions such as creating publications and updating publications for logged in users only
  • Interactive and responsive UI such as modal session form
  • Search functionality for articles, authors, and a master command all to display all stories, with keyboard navigation search

Code snippet example

  1. The titles are parsed and stored in the database so when fetching the stories from the database, we have the hashes that can be used to compare with user inputs, allowing the user to search the story based on non-continuous characters.
  2. A master command *all* that lists all stories in the database.
    matches() {
        const matches = [];
        if (this.state.inputVal.length === 0)
            return [];
        const input = this.state.inputVal;
        if(input === "*all*"){
            return Object.keys(this.props.hashesToCompare);
        }
        Object.keys(this.props.hashesToCompare).forEach(title => {
            for (let i = 0; i < input.length; i++) {
                if (!this.props.hashesToCompare[title][input[i]])
                    return [];
            }
            matches.push(title);
        });
        return matches;
    }

Group Members

Team members:

About

Modern is a Medium clone, a publishing platform that contains a hybrid collection of amateur and professional publications. This application was built with MERN stack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors