A Spring Boot WebSocket application for managing smart door lock communications.
This project implements a WebSocket server using Spring Boot to handle real-time communications for smart door lock systems. It includes Redis Stream integration for message handling and WebSocket functionality for client-server communication.
- WebSocket server implementation
- Redis Stream integration for message handling
- Push notification support
- Client management system
- Global exception handling
- Configuration management
src/
├── main/
├── java/spring/socket/
│ ├── config/
│ │ ├── EnvConfig.java
│ │ ├── Global.java
│ │ ├── RedisStreamConfig.java
│ │ └── WebConfig.java
│ ├── controller/
│ │ └── PushController.java
│ ├── exception/
│ │ ├── ErrorDetails.java
│ │ ├── GlobalExceptionHandler.java
│ │ └── ResourceNotFoundException.java
│ ├── tiosocket/
│ │ ├── ClientManager.java
│ │ ├── MyMsgHandler.java
│ │ ├── RedisStreamPublisher.java
│ │ ├── RedisStreamSubscriber.java
│ │ └── RedisSubscriber.java
│ └── SocketApplication.java
└── resources/
└── application.yml
- Java 8 or higher
- Maven
- Redis Server
- Clone the repository:
git clone https://github.com/snowflakeworld/Spring_SmartDoorLockSocket.git- Navigate to the project directory:
cd Spring_SmartDoorLockSocket- Build the project:
./mvnw clean install- Run the application:
./mvnw spring-boot:runThe application can be configured through the application.yml file located in the src/main/resources directory.
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Project Link: https://github.com/snowflakeworld/Spring_SmartDoorLockSocket