chaunce / rails-competency-test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rails Competency Test - Simple News Application

To get started please fork this project and carefully read the following instructions.

Commit all of the code to your fork of this project. If you screen record yourself working through the competency test you'll get (Extra Credit)

User Personas

The project will have multiple roles that interact with each other.

  • Guest (No Login)
  • Users (Logged in - No special role)
  • Editor Users
  • Admin Users (Extra Credit)

Acceptance Criteria

Guest (A person with no user account or that is not currently logged in)
  • As a guest I can see the homepage with first 3 articles from each category.
  • As a guest I can see article index page.
  • As a guest I am sent to signup page when I try to view an article show page.
  • As a guest I can signup
  • As a guest I can login
User
  • As a user I can see everything a guest can
  • As a user I can see article show pages.
  • As a user I can logout
Editor
  • As a editor I can do everything a user can.
  • As a editor I can create articles
  • As a editor I can delete ONLY articles that I created
  • As a editor I can edit ONLY articles that I created
Admin (Extra Credit)
  • As a admin I can create users and set roles.
  • As a admin I can edit users and change roles.
  • As a admin I can't edit, destroy, or create articles.

Article Table

Table will contain title, content, category, user_id.

Roles

Use one of these gems: Petergate (Preferred), Pundit, Cancancan.

Role Names
  • user
  • editor
  • admin (Extra Credit)

Database

Use sqlite or mysql

Testing

Use minitest as the test suite.

Authentication

Use devise for authentication.

Templating

Use one of these 3 for templating: slim (Preferred), haml, erb

About