Skip to content

Distributed is a social networking app built with React, Django, and Python, designed to connect users across multiple servers. It allows for the creation and sharing of posts, enabling seamless interactions with friends on different servers.

License

Notifications You must be signed in to change notification settings

uofa-cmput404/404f23project-404-team-not-found

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CMPUT404-project-socialdistribution

CMPUT 404 Project: Social Distribution

Project requirements

Distributed

Contributors / Licensing

Contributors

Kaye Ena Crayzhel Misay Kaustubh Mukherjee Nhat Minh Luu Raphael Gutierrez Mehsheed Ahmed Syed Abdul

Licensing

Generally, everything is LICENSE'D under the Apache 2 license by 404_Team_not_found.

User Stories

  • As an author I want to make public posts.
  • As an author I want to edit public posts.
  • As an author, posts I create can link to images.
  • As an author, posts I create can be images.
  • As a server admin, images can be hosted on my server.
  • As an author, posts I create can be private to another author
  • As an author, posts I create can be private to my friends
  • As an author, I can share other author’s public posts
  • As an author, I can re-share other author’s friend posts to my friends
  • As an author, posts I make can be in simple plain text
  • As an author, posts I make can be in CommonMark
  • As an author, I want a consistent identity per server
  • As a server admin, I want to host multiple authors on my server
  • As a server admin, I want to share public images with users on other servers.
  • As an author, I want to pull in my github activity to my “stream”
  • As an author, I want to post posts to my “stream”
  • As an author, I want to delete my own public posts.
  • As an author, I want to befriend local authors
  • As an author, I want to befriend remote authors
  • As an author, I want to feel safe about sharing images and posts with my friends – images shared to friends should only be visible to friends. [public images are public]
  • As an author, when someone sends me a friends only-post I want to see the likes.
  • As an author, comments on friend posts are private only to me the original author.
  • As an author, I want un-befriend local and remote authors
    • Done for local. Unfollowing Code Monkeys' authors and Net Ninjas' authors works.
    • Some teams have implemented their DELETE /followers request in local-only mode, so we aren't able to "Unfollow" their author.
  • As an author, I want to be able to use my web-browser to manage my profile
  • As an author, I want to be able to use my web-browser to manage/author my posts
  • As a server admin, I want to be able to add, modify, and remove authors.
  • As a server admin, I want to OPTIONALLY be able to allow users to sign up but require my OK to finally be on my server
  • As a server admin, I don’t want to do heavy setup to get the posts of my author’s friends.
  • As a server admin, I want a restful interface for most operations
  • As an author, other authors cannot modify my public post
  • As an author, other authors cannot modify my shared to friends post.
  • As an author, I want to comment on posts that I can access
  • As an author, I want to like posts that I can access
  • As an author, my server will know about my friends
  • As an author, When I befriend someone it follows them, only when the other authors befriends me do I count as a real friend.
  • As an author, I want to know if I have friend requests.
  • As an author I should be able to browse the public posts of everyone
  • As a server admin, I want to be able to add nodes to share with
  • As a server admin, I want to be able to remove nodes and stop sharing with them.
  • As a server admin, I can limit nodes connecting to me via authentication.
  • As a server admin, node to node connections can be authenticated with HTTP Basic Auth
  • As a server admin, I can disable the node to node interfaces for connections that are not authenticated!
  • As an author, I want to be able to make posts that are unlisted, that are publicly shareable by URI alone (or for embedding images)

Connections

  • Credentials to use our application
    • username: project_test
    • password: password
  • Credentials to use our admin page
    • username: not_found
    • password: not_found
  • Code Monkeys
  • Net Ninjas
  • Web Wizards
    • website URL: https://uofa-cmput404.github.io/404f23project-web-wizards/
    • username: node-404-team-not-found
    • password: socialpassword
    • (almost) full connection, given Web Wizards' API state
    • Notes:
      • At the time of writing, Web Wizards doesn't support visibility = "Private". However, we handle sending a private post to them, in case it changes.
      • They implemented their DELETE /followers request in local-only mode, so we aren't able to "Unfollow" their authors.
  • Triet
    • website URL: https://fakebook-frontend-f922a5dc4574.herokuapp.com/
    • username: node-404-team-not-found (or if it doesn't work, try 404-not-found)
    • password: 1
    • partial connection
      • Can view their authors, public posts, and followers
      • Can follow their authors and accept their follows
      • Can fetch comments, however Triet implemented some comments restrictions where the comment and post authors are the only ones who can see their comments.

About

Distributed is a social networking app built with React, Django, and Python, designed to connect users across multiple servers. It allows for the creation and sharing of posts, enabling seamless interactions with friends on different servers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published