This course will become read-only in the near future. Tell us at community.p2pu.org if that is a problem.

Describing Web Application Systems


In order to build an application we first need to learn how to plan it out. We're going to begin this process by describing systems. Systems are comprised of elements, events, properties, boundaries and relationships. You can think of just about any web application as a system. Having a good understanding of the underlying system will help us as we build our django application.

An example:

On Facebook, YOU are an element (assuming you are on it). You have attributes that make up who you are on Facebook. You have relationships with other elements whether they are friends, articles you posted, things you Like, fan pages, groups, etc. There are also boundaries on who you can interact with and how you can interact with them. You can initiate certain events like "friending" or posting on someone's wall.

Assignment:

Describe 3 of the real systems below by listing the elements and their properties, relationships, boundaries, and events. Post your answers and feel free to ask for help.

  • YouTube
  • Ebay
  • StackOverflow
  • Reddit
  • Google search
  • Flickr

Task Discussion


  • dharol   Oct. 2, 2012, 4:09 p.m.

     

    • Ebay
      • Elements: Items for Sale, users
      • Properties: Cost, Items sold, Items Purchased
      • Relationships: purchase, sold, shipped
      • Boundaries: view items, send messages
      • Events: create account, login, purchase, sell, view your history, browse
    • StackOverflow
      • Elements: questions, users
      • Properties: reputation points, votes, acceptance
      • Relationships: poster of question, answerer
      • Boundaries: can edit responses, can vote on answers, can remove posts
      • Events: post, answer, edit, approve, vote
    • Google search
      • Elements: users, {{queries???}}, query results
      • Properties: ip address, date, number of results, type of query (search engine)
      • Relationships: {{not sure .... events and relationships seem highly overlapping ...??}}
      • Boundaries: safe search? 
      • Events: search, click on search result, change search type (images, scholar)
  • Anonym   July 6, 2011, 11:15 p.m.

    Youtube-

    • Users and videos are the elements
    • The users properties are their like and dislikes & the videos properties are its content
    • Likes and shared keywords are relations within Youtube
    • Events are video upload, like & dislike, and finally comments....
    • Boundaries unsure

    Ebay-

    • Items are the elements
    • Their properties differ greatly but can be categorized as there data makeup
    • Relationships unsure
    • Boundaries unsure

    StackOverflow-

    • Peoples questions elements
    • Relationships are the keywords between different questions
    • Properties & Elements unsure
  • Pein Junior   June 28, 2011, 9:05 p.m.

    YOUTUBE - users are the elements and videos, like, etc are elements also.  Boundaries on video if it is allowed in viewers country or if users are at the age for viewing. Relationships with users videos can be shared with other website.

    EBAY - elements - users items

                 events - bids

                 properties - buy and sell

                

    FLICKr - elements - pictures

                    events - uploading pictures

                    relationships - sharing of photos

  • Alex Kehayias   July 3, 2011, 4:14 p.m.
    In Reply To:   Pein Junior   June 28, 2011, 9:05 p.m.

    Try to think about the details of some of the properties of the elements in ebay for example. In ebay an "item" has a ton of properties. Properties is how ebay is able to keep everything categorized and tidy. For example a clothing item has properties like clothing type, size, color, brand etc. We will need to plan in that level of detail and more when we build applications.

  • Jessica Ledbetter   June 27, 2011, 6:52 p.m.

    YouTube

    YouTube allows people to upload videos, watch others' videos, comment on videos, and like/dislike videos. Videos have relationships with other videos based on whether or not they were uploaded by the same person or have similar keywords. A video can display how many times it's been viewed. Videos can be private or shared to certain people. A video can also be set to be a favorite video by a user.

    Users' channels can be subscribed to to see updates. Users can be friended and blocked.

    Videos and users can be found via search.

    Reddit

    Users can put in links for others to vote up or down on. Users can also comment on the links. 

    Flickr

    Users can upload photos, screenshots, art. They can be private, public or limited to family/friends. Flickr users can also have relationships with each other such as contacts and friends/family. Users can also favorite, tag, or comment on pictures. They can also be added to groups with others, their own sets, or collections. 

  • Alex Kehayias   July 3, 2011, 4:15 p.m.
    In Reply To:   Jessica Ledbetter   June 27, 2011, 6:52 p.m.

    Someone's done this before... :) 

  • Jessica Ledbetter   July 12, 2011, 5:01 p.m.
    In Reply To:   Alex Kehayias   July 3, 2011, 4:15 p.m.

    ;)