Quickchat is a chat application that allows users to connect and communicate in real-time. With Quickchat, users can easily create accounts, find and add friends, and start conversations with individuals or groups. Quickchat is designed to be fast, simple, and intuitive, with a clean and modern interface that makes it easy to use
Project is live on quick-chat.app
Design Documentations can be found here.
- Avatar
- Rate Limiter
- User authentication
- Real-time messaging
- Direct messaging
- Group Chats
- Audio and video calls
- Screen sharing
- View message history and retrieve messages using pagination
- Friends list
- Friend Requests
- Online indicators
- Group Chat All Participants info
- Emojis support
- Multi-device compatibility
- Responsive Layout
Technologies | Description |
---|---|
React.js | Javascript Library for building user interfaces |
React Hooks | New addition in React 16.8 that let you use state and other React features without writing a class |
React Router v6.4.2 | Javascript standard library for routing in React |
Axios | Node.js packages that implements the Promise API and used to make HTTP Requests |
Redux.js | An open-source JavaScript library for managing and centralizing application state. |
Redux toolkit | Redux official, opinionated, batteries-included toolset for efficient Redux development |
Redux DevTools | Chrome extensions that helps for debugging Redux state |
Emoji-mart | Node.js packages that is a customizable emoji picker |
Socket.io-client | Node.js packages that enables real-time bidirectional communication between a web browser and a server using the WebSocket protocol |
WebRTC API | A technology that support video chat, voice calls, file sharing, and other peer-to-peer communication features directly in the browser, without the need for a separate communication infrastructure. |
Vite | Modern dev & build tool for JavaScript projects |
Technologies | Description |
---|---|
Node.js | An open-source server environment |
Express.js | A back end web application framework for building RESTful APIs with Node.js |
Dotenv | Node.js packages that loads environment variables from .env file into process.env |
Cors | Node.js packages that can be used to enable CORS with various options |
Bcrypt.js | Node.js packages that enables storing of passwords as hashed passwords instead of plaintext |
Google Domain | A domain name registrar operated by Google. |
Redis | node-redis is a modern, high performance Redis client for Node.js. |
Helmet | Help secure Express/Connect apps with various HTTP headers |
PostgreSQL | a free and open-source relational database management system emphasizing extensibility and SQL compliance. |
Sequelize | Node.js ORM for PostgreSQL |
Socket.io | Node.js packages that enables real-time bidirectional event-based communication |
uuid | Node.js packages that generate unique ID |
Technologies | Description |
---|---|
Visual Studio Code | Code Editor |
Postman | API platform for developers to design, build, test and iterate their APIs |
- Support file sharing.
- Allowing users to upload their avatar
- Voice messages
- Rich Text Sending
- Chatbot intergrations