Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moi Koe: Real-time Chat Application

A feature-rich, real-time communication platform built with Laravel, React, and TypeScript, providing seamless user interactions, messaging, and file sharing capabilities.

Features

  • User Authentication: Secure user registration, login, and password management.
  • Real-time Messaging: Instantaneous message delivery for both direct messages and group chats.
  • File Sharing: Support for uploading and sharing various file types within conversations.
  • User Profiles: Comprehensive user profiles with editable information.
  • Real-time Notifications: Instant updates for new messages and other relevant events.
  • Group Chats: Functionality to create and manage group conversations.
  • Admin Capabilities: Role-based access control with administrative privileges for user management.
  • User Blocking: Ability to block or unblock other users to manage interactions.
  • Docker Integration: Streamlined setup and deployment using Docker and Docker Compose.

Tech Stack

  • Backend: Laravel (PHP)
  • Frontend: React, TypeScript, Vite
  • Real-time: Laravel Reverb, Pusher
  • Database: MySQL
  • Caching & Queues: Redis
  • Styling: Tailwind CSS, DaisyUI
  • Containerization: Docker, Docker Compose
  • Build Tool: Vite
  • State Management: Inertia.js

Installation

Follow these steps to set up the project locally:

  1. Clone the Repository:

    git clone https://github.com/Bharatdwaj3/Moi Koe.git
    cd Moi Koe
  2. Install Dependencies:

    • PHP Dependencies:

      composer install
    • Node.js Dependencies:

      npm install

      or

      pnpm install
  3. Environment Configuration: Copy the example environment file and fill in your specific database and Reverb credentials:

    cp .env.example .env

    Edit the .env file with your database connection details (DB_DATABASE, DB_USERNAME, DB_PASSWORD), Reverb credentials (REVERB_APP_KEY, REVERB_APP_SECRET, REVERB_APP_ID), and other necessary configurations.

  4. Database Setup: Run the database migrations to set up the necessary tables:

    php artisan migrate
  5. Seeders (Optional): To populate the database with initial data (users, groups, messages), run:

    php artisan db:seed
  6. Asset Building: Compile frontend assets using Vite:

    npm run dev

    or

    pnpm dev
  7. Application Server: Start the Laravel development server:

    php artisan serve
  8. Dockerized Setup (Recommended): For a fully containerized experience, use Docker Compose:

    docker compose up -d

Usage

Once the application is running, you can:

  1. Register/Login: Access the application via your browser (typically http://localhost:8000 or the port specified in your .env file) and register a new account or log in with existing credentials.
  2. Navigate Conversations: Use the sidebar to select a user or group conversation.
  3. Send Messages: Type messages in the input field and press Enter or click the send button. Attachments can be added using the paperclip icon.
  4. Manage Groups (Admin): Group owners can access settings via the cog icon in the conversation header to manage group names, descriptions, and members.
  5. Admin Actions: Administrators can add new users, toggle administrative privileges, and block/unblock users from the relevant sections.

License

This project is licensed under the MIT License.

Footer

Project: Moi Koe URL: [https://github.com/Bharatdwaj3/Moi Koe](https://github.com/Bharatdwaj3/Moi Koe) Author: Bharatdwaj3

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages