Skip to content

uofa-cmput404/404f23project-http-academy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Information

Group Name: HTTP-Academy
CMPUT 404 Project Name: SDIST

Links

Public URI. API Documentation.
Team Wiki.
Video.
Project requirements.


Demo Video: link

https://youtu.be/lszR3KuJQAo

Post


Contributors / Licensing

Authors:


Generally everything is LICENSE'D under the Apache 2.0 License.



Public Users

Front-end URL: https://http-academy.netlify.app/

Backend URL: https://cmput404-httpacademy15-6f9ce3a9597d.herokuapp.com/

API Documentation: https://cmput404-httpacademy15-6f9ce3a9597d.herokuapp.com/swagger

Username: admin@email.com
Password: admin


Group Connections

WhoisWill

Front-End URL: https://whosocialwill.netlify.app/

Backend URL: https://whoiswill-130181bf2e5e.herokuapp.com/

username: httpacademy
password: cmput-404

Link to API docs: https://whoiswill-130181bf2e5e.herokuapp.com/swagger

Connectivity: Fully connected.


Team == good

Backend / Frontend URL: https://cmput404-social-network-401e4cab2cc0.herokuapp.com/

username: admin    
password: admin

Link to API docs: https://cmput404-social-network-401e4cab2cc0.herokuapp.com/swagger

Connectivity: Can send authors and posts. Can recieve authors


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
  • 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 add, modify, and remove authors.
  • As a server admin, I want to OPTIONALLY be able 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 (they accept my friend request) I follow them, only when the other author befriends me do I count as a real friend -- a bi-directional follow is a true 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)

Running Instructions (on the lab machines):

  • Create venv:
    • virtualenv venv --python=python3
    • source venv/bin/activate
  • Install Requirements:
    • pip install -r requirements.txt
    • You may see an error for "Building wheel for svglib", that is okay
  • Run the project:
    • python3 manage.py runserver
    • This will start a webserver on the lab machine's localhost:8000
      • If you are SSH-ing into the lab machine, you will need to forward this port in order to see the site on your device. Vscode makes this very easy.
  • To deactivate the web server, simply hit ctrl-c in the terminal.

Operating Instructions:

  • To log in for the first time, visit http://127.0.0.1:8000
  • Posts:
    • To see the posts on your feed, visit http://127.0.0.1:8000/posts/
  • To see a list of the users, visit http://127.0.0.1:8000/authors/

About

404f23project-http-academy created by GitHub Classroom

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published