App04: Social Network Inheritance - Timxthy/CO453 GitHub Wiki

App04: Social Network - Inheritance

Description

This application is the first version of a system that will allow users to post messages and photos that other users can view and like. (Any similarities to Facebook is purely coincidental!). This App is based on the BlueJ book chapter 8 in version 5, there is no video of that chapter. In BlueJ version 6 it is discussed in chapters 10 and 11.

There is a video to guide you through the code refactoring.
Please read the BlueJ book for a deeper understanding of the concepts covered.

Web Only Version

If you wish to create a Web version of this app using ASP.NET Core then YOU MUST WATCH
Video: Implement App04 with Inheritance and ASP.NET MVC with EF Core and a second video in Week 8 Pre-Lesson Videos.

You can if you wish create a web only version (NO CONSOLE APP) which would also count as your extension of the requirements worth around 15% of the marks. The Post, PhotoPost and MessagePost classes would form the Model, the Controllers and Views would form the NetworkApp and the NewsPost classes.

You must add any images to an images folder (the hmtl naming convention folder names start with lower case letters) inside of the wwwroot folder. There is no need to add code for users to upload image files. Although that is an extension that would be needed for a full featured application.

Features

The user can:-

  1. Add a message Post to the list of posts.
  2. Add a photo or image Post to the list of posts.
  3. Display all the posts with their comments and likes
  4. Display all the posts for a date/time period (will have to be minutes in the console app)
  5. Display all the posts of a particular author
  6. Remove a particular post.
  7. Add comments to a particular post.
  8. Like and unlike a particular post.

Design

UML: Use Case Diagram (16 marks)

to be inserted by the student

UML: Class Diagram (14 marks)

to be replaced by the student Class Diagram

Testing (18 marks)

screen

screen

screen

Evaluation (20 Marks)

The student should add five limitations or useful extensions that could be added to the application

  1. Would have really liked to work on a web version for my social app, found this application very interesting and plan dive deeper during the summer.
  2. Would have like to have a log in page that would have worked in the console.
  3. Would have liked to find a way to display somesort of picture in the console.