Voltage
Voltage is a modern, real-time chat application built using the TALL stack (Tailwind CSS, Alpine.js, Laravel, and Livewire). It offers fully customizable profiles, private and group chat capabilities, and a dynamic interface that keeps users updated with the latest changes.
🚀 Features
🧑🎤 Profiles and Customization
- Profile & Banner Images: Upload custom profile and banner images.
- Personal Information: Set and update your name, username, pronouns, and bio.
- Themes: Choose between light and dark UI modes.
💬 Chat Functionality
- Private Chats: One-on-one messaging with other users.
- Group Chats: Create and manage group chats with ease.
- Add/Remove Users: Dynamically add or remove participants from group chats.
- Group Management: Rename group chats.
- Read Status Tracking: Keep track of any new messages so you are always in the loop.
- Image & File Sharing: Users can send images and files as part of their messages.
- Message Deletion & Editing: Users can delete or edit their own messages.
🌐 Real-Time Updates
- Live Messaging: Instant updates on new messages without refreshing the page.
- Status Updates: Dynamically show any changes to group chats, such as renames or members joining or leaving.
🛠️ Installation
To run Voltage locally using Laravel Sail, follow these steps:
Prerequisites
- Docker: Ensure Docker is installed and running on your machine.
Steps
- Clone the Repository
- Set up Environment Variables (You will need Pusher API Credentials)
- Install Composer Dependencies:
composer install
- Start Docker Containers:
./vendor/bin/sail up
(Ensure Docker is Running)
- Generate Application Key:
./vendor/bin/sail artisan key:generate
- Run Database Migration and Seeder:
./vendor/bin/sail artisan migrate:fresh --seed
- Create Storage Symlink:
./vendor/bin/sail artisan storage:link
- Install NPM Dependencies:
./vendor/bin/sail npm install
- Built Frontend Assets:
./vendor/bin/sail npm run-script build
- Access the Application: Voltage should now be accessible at 127.0.0.1
🚧 Development Status
Voltage is currently in active development. As such, some bugs and issues are to be expected.
For a list of known issues and bugs, as well as any planned enhancements, please refer to the Issues tab.
🧑💻 Authors & Contributors