| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Aplicação de chat em tempo real desenvolvida com Java Spring Boot e WebSocket/STOMP, com autenticação via JWT armazenado em cookie HttpOnly.
🔗 Frontend: WebChat-Frontend — React + Vite
Backend:
Frontend:
O projeto utiliza arquitetura em camadas (MVC monolítico):
Controller → Service → Repository → Banco de Dados
Entidades:
CREATE DATABASE chatweb;DB_USERNAME=postgres DB_PASSWORD=sua_senha JWT_SECRET=sua_secret_longa
./mvnw spring-boot:runO backend sobe em http://localhost:8080.
git clone https://github.com/joao2dev/WebChat-Frontend
cd WebChat-Frontend
npm install
npm run devO frontend sobe em http://localhost:5173.
A documentação completa das rotas REST e WebSocket está em API_DOCS.md.
Base URL: http://localhost:8080
WebSocket: ws://localhost:8080/ws
src/main/java/com/example/chatweb/
├── Config/
│ ├── SecurityConfig.java
│ ├── SecurityFilter.java
│ ├── TokenService.java
│ ├── UserDetailsServiceImpl.java
│ ├── JWTUserData.java
│ └── CookieHandshakeInterceptor.java (via webscoket/)
├── controller/
│ ├── AuthController.java
│ ├── UserController.java
│ ├── FriendshipController.java
│ ├── GroupController.java
│ ├── GroupMemberController.java
│ ├── ConversationController.java
│ ├── GroupMessageController.java
│ └── DirectMessageController.java
├── Service/
│ ├── UserService.java
│ ├── FriendshipService.java
│ ├── GroupService.java
│ ├── GroupMemberService.java
│ ├── ConversationService.java
│ ├── GroupMessageService.java
│ └── DirectMessageService.java
├── repositories/
├── entity/
├── dto/
└── webscoket/
├── WebSocketConfig.java
├── ChatController.java
├── ChatChannelInterceptor.java
└── CookieHandshakeInterceptor.java
O projeto utiliza TDD com JUnit 5 e Mockito. Os testes cobrem os Services com cenários de sucesso e erro.
./mvnw testMIT
| Back | FazBrowse Home | New Git URL |