Visual Movement is a full-stack single-page application inspired by VSCO's creative platform. Visual Movement uses Rails/PostgreSQL backend with React.js and Redux on the frontend
Block feed showing 4 individual images on each line with the user profile links underneath each. Feed generated based on users followed
Users can upload individual photos for their profile feed with and input for photo caption

<Masonry className="profile-images-container">
{
this.props.images.reverse().map(image => (
<li key={image.id} className="profile-images">
<Link to={`/images/${image.id}`}>
<img src={image.image_url} />
</Link>
</li>
))
}
</Masonry>
Achieved Masonry blocks using Masonry for React while displaying as block.
let followButton;
if (this.props.currentUser.id === parseInt(this.props.match.params.userId)){
followButton = null;
}
else if (this.props.follows === false){
followButton = (
<button
className="follow-button"
onClick={this.handleFollow}>
Follow
</button>
);
} else if (this.props.follows === true){
followButton = (
<button
onClick={this.handleFollow}
className="unfollow-button">
Unfollow
</button>
);
} else {
followButton = null;
}
Set up Follow function by sending back a boolean from jbuilder whether the current user was following the user profile page. The functionality would depend on the case of the boolean.