Skip to content

Instantly share code, notes, and snippets.

@SophieDeBenedetto
Created June 17, 2021 22:30
Show Gist options
  • Save SophieDeBenedetto/4127f6fc7112d3277b04f3493e4b7ee0 to your computer and use it in GitHub Desktop.
Save SophieDeBenedetto/4127f6fc7112d3277b04f3493e4b7ee0 to your computer and use it in GitHub Desktop.
Elixir Educator Project Planning

What Is It?

A Phoenix app that aggregates Elixir learning resources, blog posts, Twitter feeds to help people learn Elixir. Some ideas for features:

  • Users can submit resources
  • Users can submit blog posts
  • Users can comment on/like/upvote resources and posts
  • We aggregate and show top posts/resources
  • Live feed of relevant Tweets
  • Users can take quizes
  • Consume from existing resources - Elixir Radar, Elixir Weekly

MVP (Minimal Viable Product)

High-Level Plan for Building the MVP

@SophieDeBenedetto
Copy link
Author

Domain Modeling for the MVP

  • Define the parts of our system
  • Define the entities within our system

Entities

  • User
  • Resource/Post/Content
  • Homepage/main feed/portal

Questions

  • What is a user/what attributes does it have?
  • What is a resource/what attributes does it have?
  • What is a homepage/what attributes does it have?
  • What are the relationships between these entities?
  • If an entity has a database table, what are the columns in that table?

@jacquelineIO
Copy link

Not MVP:

  • Follow other users, see their feed or make my feed based on their activity

Domain Modeling Answers

  • What is a user/what attributes does it have?

    • username/password
    • topics of interest
    • user role (e.g. admin, moderator)
    • bookmark
    • history
  • What is a resource/what attributes does it have?

    • category/topic/tag/label
    • type of content
    • content
    • title
    • skill level
    • word count/video length
    • like (to enable view by likes)
    • number of views
  • What is a homepage/what attributes does it have?

    • profile section (login)
    • show user saved posts (once logged in)
    • filter (sort, default to user preferences)
    • cards for areas of interests (clickable to filter the content)
    • what's hot now
    • user activity (for person logged in)
    • feed (title, lead/teaser, type/category/tag/label, skill level)
    • limit, track what I've already read (option to turn on by user), "I'm feeling lucky", shuffle content button
    • pagination

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