komication Live Link: https://komication.herokuapp.com/
Git wiki: https://github.com/arasargsyan0622/Komication/wiki
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.
-
Clone this repository
git clone https://github.com/arasargsyan0622/Komication.git
-
Install dependencies
pipenv install
cd react-app
npm install
-
Create a .env file based on the example with proper settings for your development environment
-
Setup your PostgreSQL user, password and database and make sure it matches your .env file
-
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
-
To run the React App in development
cd react-app
npm start
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.
Account registration and login are fully functional and error handled.
Login Page
Signup Page
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
Edit a Server
Delete a server
Join a server
Channel creation is a modal. The user can give a channel name.
Create a Channel
Edit a Channel
Delete a Channel
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
Edt/Delete a Message
Users can invite others to their dm via modal
- Implement profile page.
- Implement a search feature to search for messages.