How joselyn-uide/chat-empresarial-pi works
This repository is a corporate, text-only TCP chat system, with a Go client/server, a documented FastAPI authentication service, and a Packet Tracer network design. The main workflow is console input and validation, client connection and message handling, server-side broadcast to other connected users, and session history viewing or JSON export. The sampled Go code supports the client, server, validation, and history relationships shown. Authentication and network details are documented capabilities, but their implementation or integration wiring was not sampled, so those links are marked unverified.
Main entry points: cliente.go TCP client handler · client/main.go Console client · server/main.go TCP chat server · historial.go Session history
Components 13
Chat runtime
- TCP client handler
app-go/internal/handlers/cliente.go - Message model
app-go/internal/models/message.go - TCP chat server
app-go/cmd/server/main.go
Client workflow
- Console client
app-go/cmd/client/main.go - Input validation
app-go/internal/services/validaciones.go - User model
app-go/internal/models/user.go
Session history
- Session history
app-go/internal/storage/historial.go - JSON export
app-go/internal/storage/historial.go
Authentication
- FastAPI authentication
auth-service/app
Network infrastructure
- Segmented network design
network/F2_chat_empresarial_PI - copia.pkt - Network addressing
network/addressing/README.md
Other components
- Employee
- Other chat users
Connections 18
- Employee → Console client: uses menu
app-go/cmd/client/main.go - Console client → Input validation: validates inputs
app-go/cmd/client/main.go - Console client → User model: creates user
app-go/cmd/client/main.go - Console client → Session history: creates history
app-go/cmd/client/main.go - Console client → TCP client handler: creates client
app-go/cmd/client/main.go - TCP client handler → Input validation: validates messages
app-go/internal/handlers/cliente.go - TCP client handler → Message model: constructs messages
app-go/internal/handlers/cliente.go - TCP client handler → Session history: records messages
app-go/internal/handlers/cliente.go - Console client → Session history: views history
app-go/cmd/client/main.go - Console client → JSON export: requests export
app-go/cmd/client/main.go - JSON export → Session history: serializes history
app-go/internal/storage/historial.go - Employee → TCP client handler: sends text
- TCP client handler → TCP chat server: TCP messages
README.md - TCP chat server → Other chat users: broadcasts messages
app-go/cmd/server/main.go - Other chat users → TCP chat server: sends text
README.md - TCP chat server → TCP client handler: replies over TCP
README.md - TCP client handler → FastAPI authentication: authentication integration
- Segmented network design → Network addressing: documents addressing