Skip to content

Instantly share code, notes, and snippets.

@sethetter
Created December 7, 2016 20:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sethetter/47e6b1f232727b1326e5c6760cc35d6b to your computer and use it in GitHub Desktop.
Save sethetter/47e6b1f232727b1326e5c6760cc35d6b to your computer and use it in GitHub Desktop.

Madison Refactor - Pages

/ - Homepage

I think there are some UX things we can consider for this page, like the placement of the search bar. Probably a few other things as well.

  • 1 page of documents, by most recent created
    • Probably need ability to pass a page query param
  • Featured documents
  • Most active documents
  • Most recently active documents

/docs/:slug - Single Document

This is where JS will be needed. We could load the note data into an HTML template with a script tag. Then just handle it from there, instead of making an API call for that data. Or we can use an API route for the note data.

Also, the "comments" tab could be a separate page, or we can use a little bit of JS to hide/show the two tabs.

  • Document, by slug
    • Content
    • Comments
    • Notes
    • Support / oppose counts
    • Comment / note counts

/documents - User Docs

  • Documents that user has edit access to

/dashboard/docs/:id - Edit Doc

Again here, we can choose to make the tabs separate pages, or we can use JS to switch between them. For this one it almost seems easier to make them separate pages, so doc content can be updated alone vs updating doc details.

  • Document, by ID
    • Content (pages?)
    • Dates (do we really need this?)
    • Image
    • Stats on comments / notes

/user/edit/:id - Edit User (current)

This page needs some love. There's no explanation of "verified accounts" vs "independent sponsorship", etc. Perhaps it should all be 1 form (instead of a second form for sponsorship requests) and then two checkboxes for requesting verified status or sponsorship.

  • User data, by ID

/user/edit/:id/notifications - Notification Settings

Seems good for the most part!

  • Notification preferences, by user

/groups - User Group Management

It'd be great to have a group "view" page as well as an edit page.

If the user is not the owner of a group but still wants to view the information about it, they can see the view page. But only owners can edit group details.

  • Groups that a user belongs to
    • ..or is owner of?

/groups/edit/:id - Group Edit Page

What are group permissions anyways? Can only the owner edit these details?

The link to managing group members could be much better.

  • Group data, by ID

/groups/:id/members - Group Member Mgmt Page

Need to think about how we want to turn this into a regular form. Currently it's laid out as a table, so we either need to do some trickery to get the current UI to work properly, or just do API calls behind the scenes as we are doing now.

API calls would be pretty simple if we're just using jQuery. But we can explore other options here as well.

  • Group members

/groups/:id/invite - New Group Member Page

I feel like this could be a modal on the Group Member Mgmt page.

/admin/docs - Admin Doc Editing

This page is kinda crazy. Currently, every doc is loaded, no paging. The ability to create a doc from here could be an issue, since doc ownership is Group only now and admins don't have the independent sponsor group that ind. sponsors have.

Maybe this page goes away, then we have a single "edit doc" view that is locked down by a single chunk of auth logic.

  • All Documents

/admin/pages - Admin Edit Pages

  • List of pages

/admin/pages/:id - Admin Edit Page

  • Page data
  • Page content

/admin/verify-account - Admin Account Verification Requests

  • UserMeta for verified accounts

/admin/verify-sponsors - Admin Sponsor Verification Requests

  • Groups, by status

/admin/site-settings - Admin Site Settings

Right now all that's here is a list of featured documents.

Maybe rename it to that?

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