Lists the dependencies needed for the project:
spring-boot-starter-web: For building web applications, including RESTful applications.
spring-boot-starter-websocket: For building WebSocket applications.
spring-boot-starter-data-mongodb: For using MongoDB as the data store.
spring-boot-starter-test: For testing the application, scoped to the test phase.
lombok: A library that helps reduce boilerplate code in Java.
com.onetoone.web:
This appears to be the base package for the application, following the typical structure of a Spring Boot project.
chat:
ChatController: This is a Spring controller class responsible for handling HTTP requests related to chat functionalities.
ChatMessage: This class likely represents the entity for chat messages, containing fields such as message content, sender, timestamp, etc.
ChatMessageRepository: This interface extends a Spring Data repository (probably JpaRepository), providing CRUD operations for ChatMessage entities.
ChatMessageService: This service class contains the business logic related to chat messages, interacting with the ChatMessageRepository.
ChatNotification: This class might handle the notifications for chat events, such as when a new message is received.
chatroom:
ChatRoom: This class represents the entity for chat rooms, containing fields like room name, participants, etc.
ChatRoomRepository: This repository interface extends a Spring Data repository, providing CRUD operations for ChatRoom entities.
ChatRoomService: This service class contains the business logic related to chat rooms, interacting with the ChatRoomRepository.
config:
WebSocketConfig: This configuration class is likely responsible for setting up WebSocket communication within the application, enabling real-time messaging capabilities.
user:
Status: This class might represent the status of a user (e.g., online, offline, away).
User: This class represents the user entity, containing fields such as username, password, email, etc.
UserController: This controller class handles HTTP requests related to user functionalities (e.g., registration, login).
UserRepository: This repository interface extends a Spring Data repository, providing CRUD operations for User entities.
UserService: This service class contains the business logic related to users, interacting with the UserRepository.
ChatApplication:
This is the main class of the Spring Boot application, annotated with @SpringBootApplication. It serves as the entry point for the application.
Lists the dependencies needed for the project:
resources
Description: This directory holds all the resources that the application needs, including static assets and configuration files.
resources/static
Purpose: Contains static assets that are served directly by the web server. These files are accessible via HTTP without any further processing.
resources/static/css
main.css
Type: CSS File
Purpose: Contains the styles and layout definitions for the application's front end. This file is used to style HTML elements to ensure a consistent look and feel.
resources/static/img
user_icon.png
Type: Image File (PNG)
Purpose: An icon image, likely used for user profile representations or other user-related interface elements.
resources/static/js
main.js
Type: JavaScript File
Purpose: Contains JavaScript code to add interactivity to the web application. This may include event handlers, DOM manipulation, and AJAX calls.
resources/index.html
Type: HTML File
Purpose: The main HTML file that serves as the entry point of the web application. This file typically references the CSS and JavaScript files located in the static directory to construct the web page.
resources/application.yml
Type: YAML Configuration File
Purpose: Defines the configuration properties for the Spring Boot application. This can include settings for server ports, database connections, security, and other environment-specific properties.