Coder Social home page Coder Social logo

linku's Introduction

About

LinkU is a clone of LinkedIn, the online service used for professional networking. In LinkU, users can network with other professionals by sharing their information on profile and post/comment on newsfeed.

Techs Used: JavaScript, React, Redux, HTML, CSS, jQuery, Rails, JBuilder, PostgreSQL

Live Site: LinkU

Technologies Used

  • Frontend: React/Redux
  • Backend: Rails
  • Style: SCSS
  • Database: PostgreSQL
  • Image Upload: AWS

Features

User Authentication

Users can create an account with basic information. Upon logging-in users have access to additional features such as creating profile, posting, and adding networks. session

Profile

On profile page, users can create or edit their user information, goal, experience, and education. profile1

profile2

Post

Users can write posts on the live feed page. Other users can see the post and write a comment on it. post1

post2

Code Snippets

To best practice object-oriented programming, every section of profile page is in its own container.

class Profile extends React.Component{
    constructor(props){
        super(props);
    };

    componentDidMount(){
        this.props.getUsers();
    }

    render(){
        return(
            <div className='profile-div'>
                <section className='sub-section user'>
                    <UserIntro />
                </section>

                <section className='sub-section about'>
                    <AboutIndexContainer />
                </section>

                <section className='sub-section experience'>
                    <ExperienceIndexContainer />
                </section>
                
                <section className='sub-section education'>
                    <EducationIndexContainer />
                </section>

                
            </div>

        )
    }
}

Modal.jsx mananges every modal case effectively.

const Modal = (state) => {
    const modal = state.modal;
    if (!modal) return null;
    let component;
    switch(modal){
        case 'createEducation':
            component = <CreateEducationForm />;
            break;
        case 'editEducation':
            component = <EditEducationForm />;
            break;
        case 'createExperience':
            component = <CreateExperienceForm />;
            break;
        case 'editExperience':
            component = <EditExperienceForm />;
            break;
        case 'createAbout':
            component = <CreateAboutForm />;
            break;
        case 'editAbout':
            component = <EditAboutForm />;
            break;
        case 'editUserIntro':
            component = <UserIntroForm />;
            break;
        case 'createPost':
            component = <CreatePostForm />;
            break;
        case 'editPost':
            component = <EditPostForm />;
            break;
        default:
            return null;
    }

    return (
        <div className='modal-div'>
            <div className='modal-component-div' onClick={e => e.stopPropagation()}>
                { component }
            </div>
      </div>
    );
}

Future Implementations

  • Likes
  • Search Bar

linku's People

Contributors

hansaem-kim avatar

Stargazers

 avatar

Watchers

 avatar

linku's Issues

Design Doc Review - MVP List, Backend Routes, Schema

Wiki Page Home

  • Is the first page you see upon entering the wiki
  • Contains a welcome message
  • Contains a link/placeholder for a link to the live page
  • All links in the right sidebar should contain each wiki page and link to the correct page
  • Correctly formatted
    • each wiki page is listed in bullet points on the home page
    • all links route the correct page

Comments

Please update your homepage to reflect the above unchecked items.

MVP List

  • Should have 7 MVPs.
    • 3 of those are User Auth, Heroku, and Production README.
    • The other 4 are from the MVP List or they have clarified them with you
  • Contains a description sentence of the app
  • Includes two to three detailed bullets on functionality and presentation of feature
  • At least one CRUD feature, which states what CRUD operations are planned (creation, reading, updating, deletion)
  • Estimates how long it will take the code each MVP
  • Correctly formatted
    • MVPs are listed in an ordered list
    • Each MVP is broken down into bullet points

Comments

We need more detail here, for example what are the features of an individual post? What functionality needs to be included to create a post (attach photos/links etc).

Why is the feed a full feature as opposed to part of the post feature (as a post index)? What additional functionality does it have that makes this another MVP?

What is a connected user (that you mention in your news feed MVP)? We don't want to rely on bonus features in our main MVPs. Where on the site do users connect with each other and what other features does this connection affect?

Will you be building a search bar?

You should include the splash page as part of your User Auth MVP.

I would consider adding distinction in phrasing of "users can" vs "logged in users can" throughout bullet points.

Database Schema

  • Contains correct datatypes
  • Contains appropriate constraints/details
    • primary key
    • not null
    • unique
    • indexed
    • foreign key
  • Contains bullet points after the table that state which foreign keys will reference to which table, or references to the associations which will be made
    • foreign key and table name are lowercased, snake_cased and back_ticked
  • Correctly formatted
    • schema is written in a table format
    • the table's name are lowercased, snake_cased and back_ticked
    • the table header column names are bolded
    • columns names are lowercased and snaked_cased and back_ticked

Comments

Where will personal information about users be stored (the information to be displayed on their profile)?

What else do posts need besides a text body? Are all posts just text posts?

If users can connect with each other, how will those connections be stored?

Indices need to be listed as bullet points
Foreign key references also need to be detailed in bullet points
Reference the Sipper docs: https://github.com/appacademy/2021-06-14-NYC-Lecture-Notes/wiki/Schema

Backend Routes

  • Contains the following sections: HTML, API Endpoints(Backend)
  • Each route has a description
  • API Endpoint routes contains wildcard variables written in snake_case
  • Routes does not contain superfluous routes
  • Have API routes that will allow the front end to get all info it needs and does not have unneeded routes:
    • i.e probably doesn't need a GET likes api endpoint because that info comes through the post show

Comments

Consider nesting - for example, will we ever need to get all comments or are comments narrowed by the post they belong to?

Sample State and Frontend Routes

Sample State

  • Posts should have timestamps on them (created at or updated at if relevant)
  • Comments should also have timestamps
  • How will images associated with a post be linked?
  • Where are you storing user information that is relevant for the profile?

Frontend Routes

  • Fix spelling SingUpPrompt

User Auth/Splash

Important

Splash

  • Errors dont go away on navigation to other pages

Sign In

  • The styling is off
  • There is no way to navigate to the sign up page whereas on linked in there is

Sign Up

  • The styling is off
  • There is no way to navigate to the sign in page whereas on linked in there is

Demo User

  • The demo user button doesn't work

Splash page looks great though!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.