This is the application project for INFORMATION SYSTEMS AND SOFTWARE DESIGN course. In particular we, as a team, have developed an online global chat in which all people with an existing account can write messages. Having an account is required to send messages but don't worry if you don't have one, with the signin page you can make a new account and then use it.
The application is composed by 4 pages:
- Login page
- Signin page
- User chat room
- Admin chat room
In this page the user is asked to insert
username
and password
of an existing account (possibly his account). If the credentials submitted are present in the user table, the user will be sent in the chat in a new tab. In this situation we have 2 cases:1. The user is an admin: Chat Login ⟶ Admin Chat Room
2. The user is not an admin: Chat Login ⟶ Admin Chat Room
This page can be accessed by the Login Page. Inside of this page you are able to create a new account providing
username
, password
and email
. After doing the registration a new user will be added in the user table and the user will be again prompted to the Login Page to insert the credentials.
This page is dedicated to the users that do not have the admin power. Therefore in this page a normal user will be able to see only the messages stored in the Message table in the database and a text input to send messages. When a message is sent, in the Message table will be saved
content
, user
time
of the message that has just been sent.
This page is almost identical to the User Chat Room with one difference. The page is splitted in 2 columns:
1. Message column: in which the admin can send messages in the chat
2. Delete message column: in which the admin is able to delete messages from other users providing
username
and time
of the message that he wants to delete
We strongly suggest not to use personal passwords of real personal accounts when doing the registration phase. Even tough we've provided some kind of security checks for the application, a well studied SQL Injection (for example) could breach into the database and grabs information from tables.