Giter Club home page Giter Club logo

laravelrealtimechat's Introduction

Laravel RealTime Chat Application with Task Management!

Build Status

A real time chat based application built using laravel framework 4.2 with task management using Socket.io and Redis.


Preview

Rquirements

  1. PHP version<=7.0
  2. Mysql PHP and Node-Mysql (npm install mysql for nodejs)
  3. Redis - Windows(https://github.com/rgl/redis/downloads), Linux (https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04)
  4. Node Js
  5. Socket.io (https://www.npmjs.com/package/socket.io)

Note: Before you begin to clone, check if all the above dependencies are installed

Step 1

$ git clone https://github.com/yuvaraj-mudaliar/fusionmate.git //this will create a folder 'fusionmate' and clone into it

Step 2

$ cd fusionmate && composer install // install dependencies

  Create database 'fusionmate' in Mysql

Step 3 Go to root of project and open database config, server.js and edit MYSQL credentials

$ cd  /path_to/fusionmate/app/config
$ vi database.php    //edit mysql credentials
$ cd /path_to/fusionmate/nodejs
$ vi server.js
	
var connection = mysql.createConnection({
host     : 'localhost',
user     : 'MYSQL _USERNAME',
password : 'MYSQL_PASSWORD',
database : 'fusionmate'
});

Step 4 Generate Database tables with test data

$ cd  /path_to/fusionmate
$ php artisan migrate

Step 5 Open two terminals or CMD prompt depending on OS.

In Terminal 1

$ redis-server

In Terminal 2

$ cd  /path_to/fusionmate
$ ./realtime.sh //this will start node server

**Windows**
sh realtime.sh

On windows - Redis start > control-panel>Services Scroll to redis > right click and click on start service to start redis server

Final Step Copy .htaccess and index.php file outside of project root folder

$ cd /path_to/fusionmate/app/
$ cp -R index_and_htaccess/* /path_to/

Open browser and visit

http://localhost

Demo Credentials to login as Admin

Username: [email protected]

Password: Explore@123

Note: On linux if you get Exception Handler Error, then you need to make sure you have correct permission

    chmod -R 775 /path_to/fusionmate/app/storage

Docs

NOTE: Inviting members requires mail configration.By default invitations will be sent from configured mail address. You can configure to add your own server.

<?php
//app/config/mail.php
return array(
 
    'driver' => 'smtp',
    'host' => 'smtp.gmail.com',
    'port' => 587,
    'from' => array(
    'address' =>'<YOUR_MAIL>', 
    'name' => 'fusionmate'
    ),
    'encryption' => 'tls',
    'username'=>'<YOUR_MAIL>',
    'password' => '<PASSWORD>',
    'sendmail' => '/usr/sbin/sendmail -bs',
    'pretend' => false,
 
);

On creating a new account as admin you can create

  1. Team
  2. Add members to a team
  3. Create Project and Assign to a Team
  4. Assign Tasks to team for a project and track issues
  5. Invited Team Members will get Email Notifications to JOIN

Application Screen Cap

  • Getting Started

  • Email Invite

  • Team Settings

  • View-Add Members-Team Preference

  • Home Page

I had created this project as Hobby and most of the mentioned features works well. Feel free to fork if you think you can add additional features or enhancements and continue development. UPGRADE: Laravel latest version is 5+. Feel free to upgrade and dm me if you wish to upgrade with latest version in a new branch. https://laravel.com/docs/5.0/upgrade

© 2016
MIT LICENSE

laravelrealtimechat's People

Contributors

hobs86 avatar hobsrkm avatar shrutipurushan avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.