Komication

komication Live Link: https://komication.herokuapp.com/

Git wiki: https://github.com/arasargsyan0622/Komication/wiki

Contact

Vernyoon Chao
Chris Treadgill
Darren Kong
Ara Sargsyan

komication


Komication

Komication is a Full Stack Discord clone. It is a place to talk and hang out with your friends. Users can create servers, channels, channel and direct messaging.

Getting started

  1. Clone this repository

    git clone https://github.com/arasargsyan0622/Komication.git
  2. Install dependencies

    pipenv install
    cd react-app
    npm install
  3. Create a .env file based on the example with proper settings for your development environment

  4. Setup your PostgreSQL user, password and database and make sure it matches your .env file

  5. Get into your pipenv, migrate your database, seed your database, and run your flask app

    pipenv shell
    flask db upgrade
    flask seed all
    flask run
  6. To run the React App in development

    cd react-app
    npm start

Technologies Used


JavaScript React Redux HTML5 CSS3 AWS Heroku Docker Python Socket.io Flask Postgresql

Features

The User can create servers. When a server is created, a "General" channel is created automatically. The server owner can also create, edit and delete channels. There is a live chat in channels where users who are invited to that server, can chat with each other. Message owners can edit or delete their messages. Direct messaging is similar to channel's chat. Lastly, Server owners can also edit the server name or delete them.

Login and Sign-up

Account registration and login are fully functional and error handled.

Login Page

Login

Signup Page

Sign up

Splash page

Splash

Servers CRUD

Server creation is a modal. The user can give a server name and upload an image. A user can also join a server with an invitation link. To save an edit, the user has to click on "Save Changes". In order to Delete a server, the user has to type in the server name.

Create a Server

Create a Server

Edit a Server

Edit a Server

Delete a server

Delete a Server

Join a server

Join a Server

Channels CRUD

Channel creation is a modal. The user can give a channel name.

Create a Channel

Create a Channel

Edit a Channel

Edit a Channel

Delete a Channel

Delete a Channel

Channel Messages CRUD

Channel chat is a live chat where people can talk to each other. Message owner can edit or delete their messages by clicking the "pencil" icon.

Create/Read a Message

Message read/create

Edt/Delete a Message

Message edit/delete

Direct Messages and Inboxes

Users can invite others to their dm via modal

Invite DM Dm Chat

Bloopers

Oops

Future Features


  • Implement profile page.
  • Implement a search feature to search for messages.