Social-Network is a stateful app built with Spring Boot, MySQL and Thymeleaf.
- Java(17)
- MySQL
- Thymeleaf
- Spring MVC
- Spring Security Form Login
- Junit and Mockito
- Spring Events
- Spring AOP
- Spring Websockets
- Spring JPA and JPQL
- Spring Email (In order to be able to recieve message verification on your email when you register you need to allow this funcionality in your email settings.)
- Routing
- User authentication: Register/Login/Logout
- Roles User and Admin
- Creating and deleting users
- Following/Unfollowing users
- Editing user profile
- Pagination
- Searching for friends
- Writing messages
- Deleting messages
- Liking messages
- Commenting messages
- Uploading profile photo
- Changing username and password
- Chat functionality: writing and receiving messages from your friends(WebSockets)
- Sending messages to offline users
- Notifications when new messages are recieved
- Notifications when friends are online
- Unit and Integration tests