Skip to content

Instantly share code, notes, and snippets.

@mikesjewett
Last active August 29, 2015 14:04
Show Gist options
  • Save mikesjewett/f7897d4f65358c7ef732 to your computer and use it in GitHub Desktop.
Save mikesjewett/f7897d4f65358c7ef732 to your computer and use it in GitHub Desktop.
The collaborative blog project

Purpose

Build a collaborative blog application that allows multiple users to contribute blogs under their own names.

Use Case

This is the first project for the Bloc Alumni Hacker's Club. The first group of about 6 members would like to collaboratively build a blog application to which they can all contribute.

Requirements

  • Authentication and authorization. Users must be able to sign in and blog under their own name, assuming they have a (e.g.) "writer" role. Suggested roles are: (in order of privileges, less to more)
    • Writer: has complete CRUD abilities for their own blogs
    • Editor: has complete CRUD abilities for their own and other blogs
    • Admin: has complete CRUD abilities for all blogs, plus CRUD ability for user accounts
  • CRUD action tracking. Users should be able to see a history of who-did-what for each blog. This will make (e.g.) editing fully transparent.
  • Blog editing should be markdown enabled.
  • Blogs templates should include social sharing features for Twitter, Facebook, etc.
  • Users should be able to see a history of their blogs
    • Writers should be able to see their own
    • Editors and Admins should be able to see a history of their own blogs, and also a history for other users
  • The landing page should display a list of linked blog titles and their first paragraphs, newest to oldest. The links should be perma-links, with friendly URLs for better SEO.

Resources

Challenges

Wireframes

Landing page

Edit page

Index page for an editor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment