Skip to content

simenojensen/TDT4145_Project

Repository files navigation

TDT4145 Project

piazza is a Python implementation of the TDT4145 Project Spring 2021. The program satisfies the listed use cases.

Installation

git clone https://github.com/simenojensen/TDT4145_Project.git

Requirements

See environment.yml for python packages. For installation with conda:

conda env create -f environment.yml

Learning Outcomes

  1. Get experience in data modelling and translation into SQL
  2. Get practical experience in programming towards a SQL database.
  3. Make concise documentation of high quality

Use Cases

  1. A student logs into the system, i.e., check user name and password (you do not need to encrypt/decrypt passwords). This should have e-mail and password as input, and these should match this info in the database.
  2. A student makes a post belonging to the folder “Exam” and tagged with “Question”. Input to the use case should be a post and the texts “Exam” and “Question”.
  3. An instructor replies to a post belonging to the folder “Exam”. The input to this is the id of the post replied to. This could be the post created in use case 2.
  4. A student searches for posts with a specific keyword “WAL”. The return value of this should be a list of ids of posts matching the keyword.
  5. An instructor views statistics for users and how many post they have read and how many they have created. These should be sorted on highest read posting numbers. The output is “user name, number of posts read, number of posts created”. You don’t need to order by posts created, but the number should be displayed. The result should also include users which have not read or created posts.

Usage

cd TDT4145_Project/piazza
python main.py
Example login as student
:
useremail:
[email protected]
userpassword:
XpdsDP085Un


Example login as instructor
:
useremail:
[email protected]
userpassword:
AQqzBO2mTEkB

Demonstration

  • Run program
  • Login with MySQL login information
  • Create the TDT4145ProjectGroup131 database and insert data from .csv files.
  • Login as student

./gifs/vid1.gif

  • Create a thread as a student. Enter post content, folder and tag.
  • Search for keyword ‘WAL’.

./gifs/vid2.gif

  • Search for keyword ‘#tdt4145’
  • Log out
  • Log in as instructor.

./gifs/vid3.gif

  • Create a reply
  • Enter post id of post to reply to, enter reply content.

./gifs/vid4.gif

  • Go back to action meny
  • View statistics

./gifs/vid5.gif

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages