Skip to content

MichaBriskman/Messenger-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Authors

Description

Our program aims to build a program like Messenger, where logged users can chat with other registered users.
First the user needs to sign up to the program.



Then, he needs to login to the program with the password and username he registered.
Then, the user is redirected to a page called "chatRooms" where a table of all the registered users are displayed to him.
The user can choose which other user he wants to chat with.



Then is redirected to the chatPage with that user. We added an admin role. Only the Admin user can remove other registered users.
(The admin sees that possibility in chatRoom page).
Removing the user also removes the messages the user wrote and received.
The program has 3 controllers, one for the registered users, the second is for sending the messages and the third one for rest api for the users.
The program has 2 repositories: userRepository and messageRepository.

General information

We used JPA - mySQL database to store all the registered users, and all the messages.
We used bcrypt to encrypt the users passwords.
We used thymeleaf view engine.
We used bean configuration.
We used an interceptor that handles the sessions and redirecting pages if a user is logged into the site or not.
All of the logic is in server side (validations and extra), except the long pulling in chatPage.
We used thread safe (synchronize) to store the data.
The chatPage is SPA (not redirecting to another page when sending a message).

Functionality

Java-Doc

Installation

The tables are created in JPA - mySQL when running the program.

Useful information

To login with an admin user enter the username "Admin" (capital letter 'A'), and any password. There are no duplications in the userName. Password must be at least 6 characters long
Password must contain at least one letter and one number

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published