ITIS/CS 5180 Assignment13-MessageMe wuth Firebase Solved

35.00 $

Category:

Description

Rate this product

In this assignment you will develop “MessageMe.” The App allows the user to send  and receive messages from other users. The app uses Firebase to manage the user authentication and mailbox management.

Part A: Login

This is the launcher screen of you app. The wireframe is shown in Figure 1(a). The requirements are as follows:

  1. The user should provide their email and password. The provided credentials should be used to authenticate the user using Firebase Authentication. Clicking the “Login” button should submit the login information to the Firebase Authentication API to verify the user’s credentials.
    1. If the user is successfully logged in then start the Chat Screen, and finish the Login Screen.
    2. If the user is not successfully logged in, then show a toast message indicating that the login was not successful.
  2. Clicking the “New User?” button should start the Signup Screen Figure 1(b), and finish the login Screen.

Part B: SignUp

Create the Signup screen to match Figure 1(b), with the following requirements:

  1. Clicking the “Cancel” button should finish the Signup Screen and start the Login Screen.
  2. The user should provide their first name, last name, email, password and password confirmation. Preform the required validation(the given password and the repeated password must match). Clicking the “Sign Up” button should submit the user’s information to Firebase Authentication API.
    1. If the signup is not successful display an error message indicating the error message received from the Firebase Authentication API.
    2. If the signup is successful, then start the Chat Screen and finish the Signup Screen.

To enable the TA to test your app, you should create all the accounts listed in Table 1.

UserName First Name Last Name Password
[email protected] Austin Gibson test111
[email protected] Sally Sharp test222
[email protected] Phill Reese test333
[email protected] Tracy Clark test444
[email protected] Rebbeca Ince test555

Table 1, Users accounts to be created.

 
Email

Password

Inbox

BobSmith                 11/8/14, 4:55 pm

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

Austin Gibson        11/8/14, 10:16 am

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

Sally Sharp              11/7/14, 9:15 pm

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

Phil Rees                 11/7/14, 1:33 pm

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

Tracey Clark            11/6/14, 8:25 pm

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

Rebecca Ince          11/6/14, 10:44 am

Lorem ipsum dolor sit amet, consectetur  adipiscing elit Quod, inquit, quamquam…

(a) Login Activity                      (b) SignUp Activity                      (c) Inbox Activity

Figure 1, Wireframe for Login and SignUp Activities

Part B: Loading and Parsing Messages (Inbox Activity)

The Inbox activity should display the messages sent to the currently logged in user. The requirements are as follows:

  1. In Firebase design the required Realtime database to manage the users’ inbox. For each message store the message data, which includes the sender, receiver, message, and isRead (Boolean), created at and any other data required for managing the message.
  2. Retrieve all the messages sent to the currently logged in user. The message row items should be displayed as shown in Figure 1(c). The items should be displayed in descending order by the message sent date (most recent at the top and older messages at the bottom).
  3. The message row items should display the sender’s name, time/date sent, and a short preview of the message, which is two lines with maximum 45 characters in length, so format the message to fit these constraints. A blue circle beside the message row item indicates the message has not been read, and a grey circle indicates the message has been read. Use the provided image files provided.
  4. Clicking a message row item should start the ReadMsgActivity, which provides a more detailed view of the selected message item.
  5. The ActionBar should show a compose icon: Clicking the compose icon should start the ComposeMsgActivity, which allows the current user to compose a new message.
  6. The Inbox Activity should be refreshed when ever the activity is resumed to display the up to date message inbox.

Part C: Read Message Activity

The ReadMsgActivity shows details of the selected message item. The user can view the message, reply to sender, or delete the message. The requirements are as follows:

  1. The activity’s wireframe is shown in Figure 2(a). The UI should display the message sender’s name, and the complete message text.
  2. The message status should be updated to read status and should the updated status should be stored on Firebase.
  3. Pressing the back key should return to the Inbox Activity.
  4. The ActionBar should contain two icons: a trash, and a reply arrow.
    • Clicking the trash icon should delete the message from the user’s inbox and return to the Inbox Activity after the message is successfully deleted. The Inbox Activity should be refreshed to reflect the up to date messages stored in the user’s inbox.
    • Clicking the reply arrow should start the
 
From: Bob Smith To: Bob Smith                       
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Beatus sibi videtur esse moriens. Memini me adesse P. Egone quaeris, inquit, quid sentiam? Certe non potest. Quis
enim redargueret? Quid me istud rogas? Duo Reges: constructio interrete. Restinguet citius, si ardentem acceperit. Ut pulsi
recurrant? Quid, de quo nulla dissensio est?

Tollenda est atque extrahenda radicitus. Explanetur igitur. An hoc usque quaque, aliter in vita? Laboro autem non sine causa; Sed

fortuna fortis; Restatis igitur vos;

Nam de isto magna dissensio est. Praeteritis, inquit, gaudeo. Quid ad utilitatem tantae pecuniae? Quis est tam dissimile homini. Quid sequatur, quid repugnet, vident. Facete M. Sed

plane dicit quod intellegit. Iam id ipsum absurdum, maximum malum neglegi.

Erat enim Polemonis. Quare attende, quaeso. Urgent tamen et nihil remittunt.

(a) Read Msg Activity                                                      (b) Compose Msg Activity entered via clicking the reply button in the Read Msg Activity

Figure 2, Wireframe for Inbox Activity

Part D: Compose Message Activity

The ComposeMsgActivity allows the user to either compose a new message or reply to a message item selected from the Inbox. The requirements are as follows:

  1. If the Compose Message Activity is started by Read Message Activity, then the “To:” TextView should be pre-initialized with the name of original message sender, to which the user would like to reply. The user should not be allowed to change the preinitialized name. See Figure 2(b).
  2. If the Compose Message Activity is started by the Inbox activity by selecting the composed icon, then the “To: ” row should be empty, see Figure 3(a).
    1. Clicking the “Contact” icon should display an alert dialog containing a list of all the full names of the users from Firebase. Selecting a name should initialize the “To: ” TextView field. See Figures 3(b)&(c).
  3. After allowing the user to type in the desired message, pressing the “Send” button should upload the message to Firebase. After the message is successfully sent, a Toast message should be displayed indicating the message has been successfully sent, finish the ComposeMsgActivity and return to the Inbox Activity.
 

To: Phil Reese                     
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Beatus sibi videtur esse moriens. Memini me adesse P. Egone quaeris, inquit, quid sentiam? Certe non potest. Quis enim redargueret? Quid me istud rogas? Duo Reges: constructio interrete. Restinguet citius, si ardentem acceperit. Ut pulsi recurrant? Quid, de quo nulla dissensio est?

Tollenda est atque extrahenda radicitus.

  1. Selecting the users icon (b) Users loaded from Firebase              (c) Sending the message

Figure 3, Wireframe for Compose Msg Activity

  • MessageMe-wuth-Firebase-cobthl.zip