Overview

The idea behind this program is to build a twitter like system that has user accounts, shout-outs (instead of tweets), followers, etc. The goal of this program is to allow users to log into the system and and be presented with their history of shout-outs as well as shout-outs that have happened since the last time they logged in.

NOTE: All shoutouts and user information must be stored in files that are read at the start of the program. This information is only written back to the files before the program closes. There should be no file access during the execution.

Detailed Description

This program should only allow the user to use the system if they have an account. Account information and shout-outs need to be saved between executions of the program to files. The following list is the functionality that should be available to registered users:

  • Create user account
  • Login into account
  • Add, remove, and search operations on your following list
  • Add, remove, and search operations on your followers list
  • View your following list sorted by name (users that you are following)
  • View your followers list sorted by name (users that follow you)
  • View your shout-outs
  • View your private shout-outs
  • remove public and private shout-outs
  • Post a shout-out
  • Send a shout-out

The shout-out view shows all of the shout-outs the user has made and those sent to them by their followers. When you view the followers list or the following list, then the user should have the option to see the shout-outs for that user. Posting a shout-out is where the user post to their shout-out list for others to see, and sending a shout-out is where the user sends a shout-out to a friend. The shout-outs posted by the user show on their list of shout-outs and their followers list. The shout-outs sent to other users show up on that user's private shout-out list. The user that receives the shout-out has the option to re-shout the shout-out which means it will behave as a post. The reshout should indicate which user sent the shout-out originally.

The add to following option is where a user can become a member of another users followers list. Therefore a users following list is updated at the same time another users followers list is updated. The user can then view their following and followers list.

When the user logouts, the program should not stop. It should allow another login. There can be an exit option to stop the program.

Here is a helpful link to a twitter page: twitter.com/#!/espn_colin

Input

This program has interactive input to allow users to login and use the functionality of the system; this can be done with menus, commands, etc. However, the shout-outs for each user should be stored in one or more files. The file organization is up to you. The account information, list of followers, list of following, etc. should also be stored in one or more files. This file organization is also your decision.

Output

Your output will be screen output for selected options and those results. You will also have to update appropriate files when shout-outs are posted or when followers/following list are updated.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.