Coder Social home page Coder Social logo

saaaaaage / pictur Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 1.0 34.13 MB

A single-page full-stack clone of Imgur built on Rails, React/Redux, PostgreSQL, AWS S3, HTML5 and SCSS.

Home Page: https://pictur-9000.herokuapp.com/

Ruby 2.44% JavaScript 96.04% CoffeeScript 0.05% CSS 1.19% HTML 0.27%

pictur's People

Contributors

saaaaaage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

hdixon

pictur's Issues

Design Docs

MVP List

  • looks excellent

Schema

  • if posts.status refers to the post's anonymity, make it a boolean rather than a string
  • refactor posts and uploads: ActiveStorage gives us the ability to attach many files to one post, so only the post table is necessary (with automatically generated active_storage_attachments); no need for uploads or the joins table

Sample State

  • update to reflect changes to schema (eg, remove uploads)
    • uploading images for later use (instead of use in posts) can be saved for bonus
  • replace snake_case with camelCase
  • for posts, change tags to tag_ids, comments to comment_ids
  • if you want to keep track of views, you’ll need separate table in DB: save that for a bonus feature
  • you can give posts only the current user’s vote if you want to protect the anonymity of the other users, or array of liker_ids if you don’t care
  • for comments, child_ids should be [] instead of null

Backend Routes

  • no backend routes needed for uploads - ActiveStorage method calls take care of this

Frontend Routes

  • looks excellent

Image Upload / Posting

  • Users can upload images to create posts
  • Images can be uploaded one or more at a time
  • Images can be selected from a browser dialogue or dragged in
  • Images are instantly committed to the DB
  • Logged in users can edit their own posts
  • Posts can be public or hidden
  • Public posts can be viewed on the front page
  • Hidden posts must be browsed to directly in the URL bar
  • Posts can be edited and republished
  • Post titles are live-saved

Comments

  • Logged in users can create comments
  • Logged in users can delete their own comments
  • Comments can be made on posts and comments
  • Deleted child comments are destroyed
  • Deleted parent comments are marked as deleted, but the comment chain is otherwise maintained

Tags

  • Popular tags are displayed on the splash page
  • Posts can be tagged when created or edited
  • Posts can be viewed by tag
  • When editing a post, existing tags are suggested as the user enters tags
  • Tags can be deleted
  • Tags are live-saved
  • Tags can be seen on the Post Show page

User Auth Review

Functionality

  • demo login works
  • able to signup, login, and logout
  • displays errors upon invalid input

Styling

  • error messages should be the same style for login and sign up
  • error messages should appear/disappear independently for each input
  • error messages should not persist when navigating away from and back to the form
  • remove error messages that appear in white text above the form

Overall, it looks very good! Nice job with the resizing of the window, though you might want to take another look at how the signup and new post buttons respond to especially narrow windows. Also, you could make some minor changes to the header/navbar area to more closely mirror the original site, especially the searchbar.

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.