-
Notifications
You must be signed in to change notification settings - Fork 52
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4e809d2
commit 558df51
Showing
1 changed file
with
116 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# Discord-Clone | ||
<!-- TABLE OF CONTENTS --> | ||
|
||
<details open="open"> | ||
<summary><h2 style="display: inline-block">Table of Contents</h2></summary> | ||
<ol> | ||
<li> | ||
<a href="#1 Introduction">Introduction</a> | ||
</li> | ||
<li> | ||
<a href="#2 Key Features">Key Features</a> | ||
</li> | ||
<li> | ||
<a href="#3 Tech Stacks">Tech Stacks</a> | ||
</li> | ||
<li> | ||
<a href="#4 How to set up?">How to set up?</a> | ||
</li> | ||
<li> | ||
<a href="#5 Snaps">Snaps</a> | ||
</li> | ||
</ol> | ||
</details> | ||
|
||
# <a name="1 Introduction">Introduction:</a> | ||
|
||
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. | ||
|
||
# <a name="2 Key Features">Key Features:</a> | ||
|
||
- 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 | ||
|
||
# <a name="3 Tech Stacks">Tech Stacks:</a> | ||
|
||
- TypeScript: 97.9% | ||
|
||
- Javascript: 1.3% | ||
|
||
- CSS: 0.8% | ||
|
||
# <a name="4 How to set up?">How to set up?</a> | ||
|
||
1. Clone the repository: git clone | ||
|
||
```sh | ||
git clone https://github.com/<github_username>/Discord-Clone | ||
``` | ||
|
||
3. Go to the Discord-Clone directory: | ||
|
||
```sh | ||
cd discord-clone | ||
``` | ||
|
||
4. Install the dependencies in the root of the repo: | ||
|
||
```sh | ||
npm install # install dependencies | ||
``` | ||
|
||
5. Copy the example `.env.local.example` to `.env.local` | ||
|
||
```sh | ||
.env.local.example | ||
``` | ||
|
||
# <a name="5 Snaps">Snaps:</a> | ||
|
||
<img src="https://github.com/Yeasir0032/Discord-Clone/assets/128183101/cc30726b-78e0-455b-864a-89ce2b31b2a0" align="center" height="500" width="800"> | ||
|
||
|
||
<img src="https://github.com/Yeasir0032/Discord-Clone/assets/128183101/e6e87662-33e6-4e29-ab3a-333e20ff00d4" align="center" height="500" width="800"> | ||
|
||
|
||
## 🙏 Support | ||
|
||
This project needs a ⭐️ from you. Don't forget to leave a star ⭐️ |