Welcome to the SimpleChat project! This project is a real-time chat application built with Elixir, Phoenix, and Phoenix LiveView. The application supports multiple users, real-time message updates, and user presence tracking.
- Real-time messaging
- User presence tracking
- Unique usernames generated using mnemonic slugs
- Message broadcasting using Phoenix PubSub
- Responsive design with TailwindCSS
Ensure you have the following installed:
- Elixir
- Phoenix
-
Clone the repository:
git clone https://github.com/Car85/simplechat.git cd simplechat
-
Install dependencies & compile:
mix deps.get mix deps.compile
-
Start the Phoenix server:
mix phx.server
-
Open your browser and navigate to
http://localhost:4000
.
- Users are assigned unique usernames upon joining the chat room.
- Messages are displayed in real-time to all connected users.
- User presence is tracked, and notifications are displayed when users join or leave.
- Assign Random Colors to Users: Assign a unique, random color to each user's username, which will be displayed consistently in both the message list and the user list. Completed in issue #1 with commit 73cdbd8
- Dark Mode: Implement a dark mode theme with a toggle button to switch between light and dark modes.
- Api Rest: Add an API REST
- Emoji Support: Add support for users to send and display emojis in their messages.
simple_chat_emojies.mp4
This utility has been incorporated since the commit: ecf0137
- File Sharing: Enable users to share files within the chat.
- Private Messaging: Implement private messaging between users.
- Message Reactions: Allow users to react to messages with emojis.
- User Profiles: Create user profiles with customizable avatars and statuses.
- Create a Chromium Extension: Develop a Chromium extension that integrates with the SimpleChat application. This extension should allow users to interact with the chat directly from their browser toolbar, providing notifications for new messages and enabling quick access to the chat interface.
- Create a Desktop Application: Create a Simplechat Desktop option.
- Phoenix.LiveViewTest
Contributions are welcome! Please fork the repository and submit a pull request for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix