This is a real-time chat application where users can register, log in, and communicate within different chat rooms. The application uses JWT authentication for secure access, and real-time messaging is handled through WebSockets. The project is built with Angular and Tailwind CSS for the frontend, and Java Spring Boot with Kafka for the backend.
- User Registration & Authentication:
- Secure user registration and login using JWT.
- Chat Rooms:
- Users can join chat rooms and communicate in real-time.
- Real-Time Messaging:
- Messages are sent and received instantly via WebSockets.
- Modern UI:
- Styled with Tailwind CSS for a clean and responsive design.
- Backend:
- Built with Java Spring Boot, leveraging Kafka for asynchronous processing.
- Angular: Framework for building the user interface.
- Tailwind CSS: Utility-first CSS framework for styling.
- Java Spring Boot: Backend framework for API and WebSocket handling.
- Kafka: For message processing and communication.
- WebSockets: Used for sending and receiving real-time messages between the client and server.
- Navigate to the frontend directory.
- Install dependencies (if not already installed):
npm install
- Start the Angular development server:
ng serve
- Access the application at
http://localhost:4200
.
-
Navigate to the backend directory.
-
Start the backend server:
docker-compose up --build
- Register a new account or log in with existing credentials.
- Browse the list of chat rooms and join one to start chatting.
- Messages are exchanged in real-time with other users in the same chat room.