GithubHelp home page GithubHelp logo

coolstuff-enterprise's Introduction

Tribes Messenger

Tribes Messenger is a Laravel based application written to showcase development skills with the said Framework. The application leverages TailwindCss for styling and utalizes Laravel Blade as a Templating Engine.

Prerequiites

  • PHP v8.1+
  • Node v18
  • NPM v9
  • Docker

Installation Instruction(s)

  • Clone this repository into your working directory, for example, /var/www/html/{your-app-directory}
  • Change directory into the src directory of your app

Once inside the said directory run the commands below:

┌─[MacBook-Pro][~/devhouse/assessments/tribes-messenger/src]
└──╼ cp .env.example .env

Once we have done copying the .env file successfully, we need to build our JavaScript before we boot up our services.

┌─[MacBook-Pro][~/devhouse/assessments/tribes-messenger/src]
└──╼ npm install && npm run dev

The codebase includes an .nvm file that specifies the Node versions we would like to use. This is useful if you switch inbetween different versions of Node.

At this point we have laid down the foundation of our Application.

Using Docker, we will move one directory up and execute docker-compose up -d --build. This command will build all our services that we need to have our application run.

┌─[MacBook-Pro][~/devhouse/assessments/tribes-messenger]
└──╼ docker-compose ps
          Name                         Command               State                       Ports
-------------------------------------------------------------------------------------------------------------------
tribes-app                  docker-php-entrypoint php-fpm    Up      9000/tcp
tribes-dbadmin              /docker-entrypoint.sh apac ...   Up      0.0.0.0:9004->80/tcp
tribes-nginx                /docker-entrypoint.sh ngin ...   Up      0.0.0.0:9001->80/tcp
tribes-rdbms                docker-entrypoint.sh mysqld      Up      0.0.0.0:9002->3306/tcp, 33060/tcp
tribes-realtime-messaging   node /app/bin/server.js start    Up      0.0.0.0:6001->6001/tcp, 0.0.0.0:9601->9601/tcp
tribes-smtp                 MailHog                          Up      0.0.0.0:8025->1025/tcp, 0.0.0.0:9005->8025/tcp

Once all services are up, we need to get into the application container and install our PHP depencencies and finish off installation process.

┌─[MacBook-Pro][~/devhouse/assessments/tribes-messenger]
└──╼ docker exec -it tribes-app bash

Inside the container we need to run the following commands:

┌─[MacBook-Pro][~/devhouse/assessments/tribes-messenger]
└──╼ composer install && php artisan migrate && php artisan db:seed

Packaged Services

  • Relational Database Server (MySQL 8)
  • Database Administrator System (PhpMyAdmin)
  • NGINX (PHP Backend Server)
  • Soketi Web Socket Server
  • MailHog (Email Client)

The Soketi service replaces Pusher to allow for offline testing during development.

Screenshots

Application Screenshots

"Chat 1"

"Chat 2"

"Chat 3"

Services Screenshots

"MailHog"

 "PHPMyAdmin"

coolstuff-enterprise's People

Contributors

scruffycoderofficial avatar

Stargazers

 avatar

Watchers

 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.