Giter Site home page Giter Site logo

slack-lamp-architecture's Introduction

Slack-LAMP

A Web application developed using LAMP stack to create channels, send messages and manage users within a workspace. The application has a look and feel similar to Slack.

Features

1. Messages

  • Users can post messages, code snippets, upload files and insert pictures either from the local system or image URL.

  • Replies can be posted to messages as threads.

    Sample Message             Threads           

2. Pagination and Reactions

  • Users can react to the messages by either upvoting '+1' or downvoting '-1' reactions.
  • Clicking 'Load More' option in message area loads messages that were posted earlier than the 10 current messages.
  • Search bar can be used to search for existing users in the workspace.
Initial             Pagnation Reactions  

3. Channel Membership and Administration

  • Users can create channels (both public and private) and invite members to the channels.
  • Admins can edit channel membership, delete posts, archive and unarchive a channel.
  • No further posts, reactions and channel modification are allowed in archived channels.
Channel Archive            Channel Creation
 

4. CAPTCHA, Gravatar and Github Authentication

  • The site is integrated with No CAPTCHA ReCAPTCHA API. Prior to editing profile, users have to complete the CAPTCHA requirement.
  • User's current avatar is overrided to Gravatar image through the email ID associated with Gravatar API.
  • The website can also be logged in using GitHub's credentials. The avatar is changed dynamically to the user's GitHub avatar.
GitHub Authentication            CAPTCHA
 

Requirements

  • LAMP stack
  • PHP 7

Code Style

  • The project uses Model-View-Controller (MVC) architectural pattern.
  • All the client-side resources are available in the views folder.
  • Client requests are directed to the controller by creating an instance of a controller class and calling its methods.
  • MySQL Database operations such as SELECT, INSERT and DELETE are handled in the Model classes.

slack-lamp-architecture's People

Contributors

rahul-racha avatar rkand002 avatar varsha-ravi avatar

Watchers

 avatar

Forkers

rkand002

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.