Group Name: HTTP-Academy
CMPUT 404 Project Name: SDIST
Public URI.
API Documentation.
Team Wiki.
Video.
Project requirements.
Demo Video: link
Authors:
- Ogooluwa Samuel osamuel@ualberta.ca
- Rahul Korde rkorde@ualberta.ca
- Glory Omosomwan glory@ualberta.ca
- Jefferson Fong
- Toufic Saadeh toufic@ualberta.ca - Joined November 3rd, 2023
- Matheus Duncan
Generally everything is LICENSE'D under the Apache 2.0 License.
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
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.
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
- 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)
- 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.
- 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 the posts on your feed, visit
- To see a list of the users, visit
http://127.0.0.1:8000/authors/