Giter Site home page Giter Site logo

blog's Introduction

Introduction

Create a blog application that has Users and Posts with the following requirements.

Git

  • Create a private or public repo with Github or Bitbucket. Once completed, provide the user phiction with read access.

Application Requirements

  • Devise Authentication
  • MongoDB
  • Rails 4.2.10
  • Ruby 2.3.6

Gem Requirements

  • gem 'mongoid', '~> 5.2.0'
  • gem 'mongoid-history'
  • gem 'haml-rails'
  • gem 'kaminari'
  • gem 'kaminari-mongoid'
  • gem 'bootstrap-sass'
  • gem 'devise', '~> 4.2'

Devise Requirements

  • Database Authenticatable

Post model Requirements

  • Attributes:
    • title
    • body
    • author (User)
    • created_at
    • updated_at
  • Validation:
    • title presence and uniqueness
    • author presence
    • body presence

Post Controller Requirements

  • only a User can create Posts
  • only the Post author can edit, and destroy their own entries
  • Post#show and Post#index are viewable by anyone and respond to both html and json requests
  • the Post#index results are paginated with kaminari
  • have the heading 'Posts' at the top of the Post#index view

Bonuses

Localization

Create a link to another language and have it change the translation for the heading on the Posts controller index.

Post History

Track the changes made to Posts using mongoid-history and show them on Post#show.

Post Comments

Allow users to comment on Posts. Show comments below the post on Post#show.

Post Caching

Use caching of your choice to cache posts for 6 hours.

blog's People

Contributors

foozie3moons avatar

Watchers

 avatar  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.