To get started please create a public github project called [yourname]-rails-competency-test]
and carefully read the following instructions.
Commit all of the code to your project and email it to isaac@isaacsloan.com
. May the force be with you.
The project will have multiple roles that interact with each other.
- Guest (No Login)
- Vanilla Users (Logged in - No special role)
- Editor Users
- Admin Users (Extra Credit)
- Can see homepage with first 3 articles from each category.
- Can see article index page.
- Are sent to signup page if they want to see article show page.
- Can signup
- Can Login
- Can see everything a guest can
- Can see article show pages.
- Can logout
- Can do everything a vanilla User can.
- Can create articles
- Can delete articles that they created
- Can edit articles that they created
- Can create users and set roles.
- Can edit users and change roles.
- Can't edit/destroy/create articles.
Table will contain title, content, category, user_id.
Use one of these gems: Petergate (Preferred), Pundit, Cancancan.
- user
- editor
- admin (Extra Credit)
Use sqlite
Use minitest as the test suite.
Devise can be used for authentication.
slim (Prefered), haml, erb