A clone of Discord with features like realtime chat app, roles, file sharing, servers...etc,
- React is used along with Redux to power front-end.
- Redux to manage state along with Redux Saga.
- React Routing with Error handling and Discord Loading between pages.
- Firebase is used for authentication and firestore to store messages, users and servers.
- Material UI is used along with SASS with a little of styled components for UI.
-
Server Channels
i) Create channels
ii) Delete channels
-
Message Management
i) Server owners can delete any message
ii) Message author can delete and edit their own messages
-
Member Management
i) Kick members as the server owner
ii) Easily leave the server by right clicking the server
iii) Join servers with an invite code
-
Server Management
i) Create servers as you would in Discord
ii) Edit server name, and icon URL in the server settings
iii) Delete your server in the server settings
-
User Management
i) Manage your account by clicking the settings icon
ii) Change your username, and avatar
iii)Delete your user and prevent it from being used to login
-
TypeScript: 97.9%
-
Javascript: 1.3%
-
CSS: 0.8%
-
Clone the repository: git clone
git clone https://github.com/<github_username>/Discord-Clone
-
Go to the Discord-Clone directory:
cd discord-clone
-
Install the dependencies in the root of the repo:
npm install # install dependencies
-
Copy the example
.env.local.example
to.env.local
.env.local.example
![](https://private-user-images.githubusercontent.com/128183101/335843859-cc30726b-78e0-455b-864a-89ce2b31b2a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTg4MjUsIm5iZiI6MTczODk1ODUyNSwicGF0aCI6Ii8xMjgxODMxMDEvMzM1ODQzODU5LWNjMzA3MjZiLTc4ZTAtNDU1Yi04NjRhLTg5Y2UyYjMxYjJhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QyMDAyMDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01NDY2NDljZDg2MWQ3MGMzOTZhYjIxYWI2ZTVlZWE5ZjgzZTcwMmI0ZTdiYWY0NWViOTM3NzFkMmRhNjdkOTY2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.TYn2M_WtX6zKiYlYg87F7Yp2oXiK0var_UJhVPxOOCA)
![](https://private-user-images.githubusercontent.com/128183101/335843867-e6e87662-33e6-4e29-ab3a-333e20ff00d4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NTg4MjUsIm5iZiI6MTczODk1ODUyNSwicGF0aCI6Ii8xMjgxODMxMDEvMzM1ODQzODY3LWU2ZTg3NjYyLTMzZTYtNGUyOS1hYjNhLTMzM2UyMGZmMDBkNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwN1QyMDAyMDVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYmIyYjEwMDA0ZDFkZTRhNWJhMjE4NTM3NDE5NWU5ZmVlM2QyYWUwN2NmZDRkYTY1YzI5OTcxMzdjNDc3NjgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.QAiKbKR8x1MkfrGyqTRO5NXQsueeTcVlN55RjZ76tqg)
This project needs a ⭐️ from you. Don't forget to leave a star ⭐️