Giter Club home page Giter Club logo

instagram-challenge's Introduction

Instagram Clone

Build Status Coverage Status

Author: Emma Beynon

Github: https://github.com/emmabeynon

Email: [email protected]

Overview

I have been tasked with building an Instagram clone using Ruby on Rails. This is the brief:

Your challenge is to build Instagram using Rails.
You'll need **users** who can post **pictures**, write **comments** on pictures and **like** a picture.
Style it like Instagram's website (or more awesome).

Bonus if you can add filters!

I created the following user stories based on the brief:

As a user
So that I can use Instagram
I would like to post pictures on it

As a user
So that I can post pictures on Instagram
I would like to create my own account

As a user
So that I can show that I posted a picture
I would like my username to be displayed with a picture I posted

As a user
So that I can share my thoughts on a picture
I would like to write a comment on a picture

As a user
So that I can show my appreciation for a picture
I would like to 'like' a picture

As a user
So that I can remove one of my posted pictures
I would like to delete a picture

As a user
So that I can change one of my posted pictures
I would like to edit a picture

As a user
So that I can see pictures posted by other users
I would like to see all users' pictures on the homepage

As a user
So that I can see one user's pictures
I would like to view all of a user's pictures on one page

Instructions

You can view this project at https://fierce-spire-98420.herokuapp.com/ To create your own version:

  • Fork this repo and clone to your local machine.
  • Create the databases and migrate
$ bin/rake db:create
$ bin/rake db:migrate
  • Launch the rails server
$ bin/rails s
  • Navigate to http://localhost:3000 in your browser.

Approach

This project was test-driven using RSpec for the unit and controller tests, and RSpec/Capybara for the feature tests. I made use of FactoryGirl to set up test objects for the tests, and Shoulda to provide appropriate matchers for the unit tests. Additionally, I used DatabaseCleaner to empty the test database in between tests to ensure reliable results. File attachment functionality was provided by Paperclip. I also made use of Bootstrap for styling purposes.

Screenshots

Signed out signed out

Signed in signed in

Posting a picture Post picture

Further Work

  • Outstanding issue with likes not pluralising correctly unless you refresh the page
  • View all of a user's pictures on one page
  • Linked hashtags
  • Display when the picture was posted
  • Users can only like a picture once
  • Allow users to delete their comments

instagram-challenge's People

Contributors

emmabeynon avatar tansaku avatar spike01 avatar ptolemybarnes avatar

Watchers

 avatar

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.