Coder Social home page Coder Social logo

pinspiration's Introduction

Pinspiration

You will be creating Pinspiration, an idea-sharing platform that functions just like this little website!

Technical Summary

Pinspiration requires registration to use. Users can upload, save, sort, and manage images—known as pins—and other media content (e.g., videos and images) through collections known as "pinboards". Pinspiration acts as a personalized media platform. Users can browse the content of others on the main page.

Suggested Workflow

Not sure where to start? Try tackling your application in the following order...

  1. Draw an ERD
  2. Create migrations to define your database
  3. Define your models
  4. Define some basic routes
  5. Add controllers / actions & views

Getting Started

In this cloned repo directory:

rails _5.2.3_ new . -d postgresql --skip-turbolinks --skip--coffee --skip-git

Spec

As always, we build our application iteratively. You implement all the features of a level before implementing features of the next. Spend some time planning your approach to a feature before launching into it. Take advantage of the whiteboards -- they're everywhere.

Add to your seeds.rb for the deafult data to make each iteration work.

MVP

Users can log in and create a pin.

They can see a single pin and a list of all pins.

Further

Implement two models, with a RESTful interface to manage them...

  1. Pin
  2. Comment

Pins have...

  • a title
  • an image url

Comments have...

  • a body
  • a date/time posted

There is a one-to-many relationship between Pins and Comments.

A user can see on their /dashboard all of their pins. A user can see on their /dashboard all of their comments for all pins.

Further

Check out the ffaker gem to make fake data in your app.

Further

Bootstrap-ize your app by putting the bootstrap CDN link tag in the head. The head tag is in views/layouts/application.html.erb

Further

Board
  • Users have many boards, a board belongs to one user
  • Boards have many pins, a pin belongs to one board

Further

Tag
  • Pins have many tags, a tag can be applied to many pins
  • display all the pins for a given tag: /tags/cats

Further

  • Instead of storing an image url as a string, allow users to upload to AWS using paperclip or carrierwave

Further

  • Users can sort, or filter of pins / boards / tags

Further

  • pins can be in multiple boards

Further

  • users can follow other users
  • users can follow boards

Further

A user's feed is compilation of the users they follow and the boards they follow

pinspiration's People

Contributors

zachariah-chow avatar awongh avatar adambray avatar amaseda avatar jsm13 avatar robertakarobin 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.