ChitChat is a fun and friendly chatting application that lets you connect with people all around the world. ChitChat lets you talk to many people or just one person easily and comfortably. ChitChat has a simple and elegant design that makes it easy to use and enjoy!
Note: Since I'm using the free package of railway, the app is unfortunately slow.
https://chitchat-production.up.railway.app/#/
"ChitChat")
Start a New Conversation (Private Message)
Here're some of the project's best features:
Public Chats
Private Messagging
Profile Customization
Account Management
Simple Design
Authentication API Endpoints
HTTP Method
URL Path
Status Code
Description
POST
/api/v1/auth
200 (OK)
Login
POST
/api/v1/logout
200 (OK)
Logout
HTTP Method
URL Path
Status Code
Description
WebSocket
/ws/app/message
N/A
Receive public chat messages
WebSocket
/ws/private-message
N/A
Receive private chat messages
DELETE
/api/v1/messages/{messageId}
200 (OK)
Delete a chat message
Conversation API Endpoints
HTTP Method
URL Path
Status Code
Description
POST
/api/v1/conversations
201 (Created)
Create a conversation
GET
/api/v1/conversations/public
200 (OK)
Get public conversations
GET
/api/v1/conversations/{conversationId}/messages
200( OK)
Get messages of a specific conversation
GET
/api/v1/conversations/participants/{username}/messages
200 (OK)
Get conversation messages by participants
GET
/api/v1/conversations/messaged-participants
200 (OK)
Get users with whom the current user has messaged
HTTP Method
URL Path
Status Code
Description
GET
/api/v1/users
200 (OK)
Get all users
POST
/api/v1/users
201 (Created)
Create a new user
PUT
/api/v1/users/{id}
200 (OK)
Update user information
DELETE
/api/v1/users/{id}
200 (OK)
Delete a user
GET
/api/v1/users/{id}
200 (OK)
Get a specific user by ID
HTTP Method
URL Path
Status Code
Description
POST
/api/v1/images
201 (Created)
Set profile image
HTTP Method
URL Path
Status Code
Description
DELETE
/api/v1/messages/delete-public
200 (OK)
Delete public messages
Used technologies are:
Java Spring Boot
Spring Boot Starter Data JPA
Spring Boot Starter Security
Spring Boot Starter Web
Spring WebSocket
Spring Messagging
ModelMapper
H2 Database
Spring Boot Starter Validation
Spring Boot DevTools
Lombok
React
Axios
React
react-dom
react-router-dom
react-scripts
redux
sockjs-client
stompjs
timeago.js
web-vitals