How vamamurin/java-socket-chat works
This repository appears to implement a terminal chat client backed by a Spring-based chat server. The likely user workflow is login or registration, then messaging and relationship management; the server exposes corresponding API and persistence layers, with JWT/security components. The tree supports these subsystem boundaries, but no README or source excerpts were provided, so runtime calls and data flows are unverified; inferred links are dashed and have no evidence path.
Main entry points: repository Repositories · ClientController.java Client controller · service Client services · LoginTUI.java Login UI
Components 25
Client interface
- Client startup
chat_client/src/main/java/com/example/chat_client/ChatClientApplication.java - Client controller
chat_client/src/main/java/com/example/chat_client/controller/ClientController.java - Login UI
chat_client/src/main/java/com/example/chat_client/ui/LoginTUI.java - Registration UI
chat_client/src/main/java/com/example/chat_client/ui/RegisterTUI.java - Chat UI
chat_client/src/main/java/com/example/chat_client/ui/ChatTUI.java - Relationship UI
chat_client/src/main/java/com/example/chat_client/ui/RelationshipTUI.java
Client logic
- Client services
chat_client/src/main/java/com/example/chat_client/service - HTTP clients
chat_client/src/main/java/com/example/chat_client/api - User session
chat_client/src/main/java/com/example/chat_client/core/UserSession.java - Client models
chat_client/src/main/java/com/example/chat_client/model
Server API
- Auth API
chat_server/src/main/java/com/example/chat_server/controller/AuthController.java - Message API
chat_server/src/main/java/com/example/chat_server/controller/MessageController.java - Relationship API
chat_server/src/main/java/com/example/chat_server/controller/RelationshipController.java - Relationship requests
chat_server/src/main/java/com/example/chat_server/controller/RelationshipRequestController.java
Server domain
- Authentication
chat_server/src/main/java/com/example/chat_server/service/AuthService.java - Messaging
chat_server/src/main/java/com/example/chat_server/service/MessageService.java - Relationships
chat_server/src/main/java/com/example/chat_server/service/RelationshipService.java - Relationship requests
chat_server/src/main/java/com/example/chat_server/service/RelationshipRequestService.java
Server support
- Repositories
chat_server/src/main/java/com/example/chat_server/repository - Domain entities
chat_server/src/main/java/com/example/chat_server/entity - JWT security
chat_server/src/main/java/com/example/chat_server/security - Security configuration
chat_server/src/main/java/com/example/chat_server/config/SecurityConfig.java
Other components
- User
- Chat server
- Database
Connections 28
- User → Login UI: signs in
- User → Registration UI: registers
- User → Chat UI: uses
- User → Relationship UI: manages links
- Login UI → Client controller: submits credentials
- Registration UI → Client controller: submits registration
- Chat UI → Client controller: sends messages
- Relationship UI → Client controller: manages requests
- Client controller → Client services: dispatches actions
- Client services → HTTP clients: makes requests
- Client services → User session: uses session
- Client services → Client models: uses models
- HTTP clients → Chat server: calls API
- Chat server → Auth API: routes auth
- Chat server → Message API: routes messages
- Chat server → Relationship API: routes relationships
- Chat server → Relationship requests: routes requests
- Auth API → Authentication: delegates
- Message API → Messaging: delegates
- Relationship API → Relationships: delegates
- Relationship requests → Relationship requests: delegates
- Authentication → Repositories: uses
- Messaging → Repositories: uses
- Relationships → Repositories: uses
- Relationship requests → Repositories: uses
- Repositories → Domain entities: persists
- Repositories → Database: reads and writes
- Security configuration → JWT security: configures