A modern, real-time chat application frontend with a responsive design, allowing users to manage profiles, search for other users, and exchange messages instantly.
- User Authentication: Secure signup and login functionality.
- Real-Time Messaging: Powered by SignalR for instant updates.
- Profile Management: Edit user profiles and manage profile images.
- Inbox Management: Search for users, create new chats, and view conversations.
- Responsive Design: Fully functional on desktops, tablets, and mobile devices.
- Error Handling: Clear and user-friendly error messages.
- Vite - Fast build tool.
- React with TypeScript.
- Tailwind CSS & DaisyUI for styling.
- React Query for state management and data fetching.
This project interacts with a separate backend repository built with:
- ASP.NET Core for RESTful APIs.
- SignalR for real-time communication.
- SQL Server for data storage.
The backend repository can be found here: RealTimeChatAPI.
Experience the live demo here: RealTimeChatWebApp
- Node.js
- Backend API running from RealTimeChatAPI.
-
Clone the Repository:
git clone https://github.com/kerolesnabill/RealTimeChatWebApp.git cd chat-web-app
-
Frontend Setup:
cd frontend npm install npm run dev
-
Backend Setup: Follow the instructions in the RealTimeChatAPI repository to set up the backend.
-
Open Application: Navigate to
http://localhost:3000
in your browser.
- Login/Signup: Create an account or log in with existing credentials.
- Inbox: View conversations, search for users, and start new chats.
- Chat Window: Send real-time messages and view chat history.
- Profile Management: Edit profile information and manage images.
The API documentation is available in the RealTimeChatAPI repository.
Home.tsx
: Layout containingInbox
andChatWindow
.Inbox.tsx
: Displays the list of conversations.ChatWindow.tsx
: Manages real-time messaging.Profile.tsx
: Handles profile editing and image management.NewChat.tsx
: Allows starting new conversations by searching usernames.
-
Small Screens:
- Inbox is toggled using a button.
- Chat window adapts to fit smaller devices seamlessly.
-
Large Screens:
- Both Inbox and Chat Window are visible side-by-side.
This project is licensed under the MIT License.