2022-12-16 23:19:48 +00:00
|
|
|
# Accord - Messaging Made Simple.
|
2021-11-12 14:40:18 +00:00
|
|
|
Accord is an app, similar to Discord, but cooler.
|
2023-05-27 05:17:15 +01:00
|
|
|
Built with React, TypeScript, and Node.js.
|
2021-11-12 14:40:18 +00:00
|
|
|
|
2023-05-27 05:17:15 +01:00
|
|
|
**Please ⭐ this repo to support development.**
|
2021-08-03 17:06:01 +01:00
|
|
|
|
2023-05-27 05:48:36 +01:00
|
|
|
<a href="https://ibb.co/kgndDwd"><img src="./github/accord-themes.gif" alt="Screenshot-from-2021-08-31-16-09-41" border="0" width="49.5%" height="49.5%" /></a>
|
2023-05-27 05:46:02 +01:00
|
|
|
<a href="https://ibb.co/kgndDwd"><img src="https://i.ibb.co/N6h4NJ4/Screenshot-from-2021-08-31-16-09-41.png" alt="Screenshot-from-2021-08-31-16-09-41" border="0" width="49.5%" height="49.5%" /></a>
|
|
|
|
<a href="https://ibb.co/st2q2B0"><img src="https://i.ibb.co/fQ2H2ch/Screenshot-from-2021-08-30-11-55-01.png" alt="Screenshot-from-2021-08-30-11-55-01" border="0" width="49.5%" height="49.5%" /></a>
|
|
|
|
<a href="https://ibb.co/SydPgTY"><img src="https://i.ibb.co/qjWd8Gq/Screenshot-from-2021-08-30-13-30-43.png" alt="Screenshot-from-2021-08-30-13-30-43" border="0" width="49.5%" height="49.5%" /></a>
|
2021-08-03 17:06:01 +01:00
|
|
|
|
2021-12-18 23:09:46 +00:00
|
|
|
> Want more stable commits? [Use the stable branch](/tree/v2-stable).
|
2021-11-11 16:07:41 +00:00
|
|
|
|
2021-10-09 20:05:19 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
2023-04-16 11:07:28 +03:00
|
|
|
1. Clone the repo (from GitHub).
|
2023-05-30 21:02:29 +01:00
|
|
|
2. Generate JWT key (secure user logins).
|
2022-12-17 00:47:18 +00:00
|
|
|
From app directory (with Git bash):
|
2021-10-24 16:54:25 +01:00
|
|
|
```
|
|
|
|
mkdir -p backend/keys
|
2021-11-02 19:58:26 +00:00
|
|
|
ssh-keygen -t rsa -b 2048 -m PEM -f backend/keys/jwt
|
2021-10-24 16:54:25 +01:00
|
|
|
```
|
2021-10-09 20:05:19 +01:00
|
|
|
3. Install npm packages.
|
2022-12-17 00:47:18 +00:00
|
|
|
From app directory:
|
2021-11-02 19:58:26 +00:00
|
|
|
```
|
2023-05-28 21:43:57 +01:00
|
|
|
# Install global dependencies
|
|
|
|
npm i -g typescript
|
|
|
|
|
|
|
|
# Install local packages
|
|
|
|
cd frontend && npm i -f
|
|
|
|
cd ../backend && npm i -f
|
2021-11-02 19:58:26 +00:00
|
|
|
```
|
2022-12-17 00:47:18 +00:00
|
|
|
4. In `backend` directory, configure `.env.example` and rename the file to `.env`
|
2021-10-09 20:05:19 +01:00
|
|
|
|
|
|
|
---
|
|
|
|
|
2021-08-03 17:06:01 +01:00
|
|
|
## Features
|
|
|
|
|
|
|
|
- **Server Channels**
|
|
|
|
- Create channels
|
|
|
|
- Delete channels
|
|
|
|
- **Message Management**
|
|
|
|
- Server owners can delete any message
|
|
|
|
- Message author can delete and edit their own messages
|
|
|
|
- **Member Management**
|
|
|
|
- Kick members as the server owner
|
|
|
|
- Easily leave the server by right clicking the server
|
|
|
|
- Join servers with an invite code
|
|
|
|
- **Server Management**
|
|
|
|
- Create servers as you would in Discord
|
|
|
|
- Edit server name, and icon URL in the server settings
|
|
|
|
- Delete your server in the server settings
|
|
|
|
- **User Management**
|
|
|
|
- Manage your account by clicking the settings icon
|
|
|
|
- Change your username, and avatar
|
|
|
|
- Delete your user and prevent it from being used to login
|
|
|
|
- **and more** (of course)
|
|
|
|
|
2021-08-30 13:44:15 +01:00
|
|
|
> Want a more basic version, that's more like Discord?
|
|
|
|
> https://github.com/codea-live/dclone
|
2021-11-30 02:28:25 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
`backend/.env`
|
|
|
|
(dev with Docker)
|
|
|
|
|
|
|
|
```
|
|
|
|
EMAIL_ADDRESS="...@gmail.com"
|
|
|
|
EMAIL_PASSWORD="..."
|
|
|
|
MONGO_URI="mongodb://database/accord"
|
|
|
|
NODE_ENV="dev"
|
|
|
|
PORT=3000
|
|
|
|
WEBSITE_URL="http://localhost:4200"
|
2023-05-30 19:58:22 +01:00
|
|
|
SESSION_SECRET="Please ⭐ this repository."
|
2021-11-30 02:28:25 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
`backend/test/.env`
|
|
|
|
(test without Docker)
|
|
|
|
|
|
|
|
```
|
|
|
|
API_URL="http://localhost:3001/api"
|
|
|
|
EMAIL_ADDRESS="...@gmail.com"
|
|
|
|
EMAIL_PASSWORD="..."
|
|
|
|
MONGO_URI="mongodb://localhost/accord-test"
|
|
|
|
NODE_ENV="dev"
|
|
|
|
PORT=3001
|
|
|
|
ROOT_ENDPOINT="http://localhost:3001"
|
|
|
|
WEBSITE_URL="http://localhost:4200"
|
2023-05-30 19:58:22 +01:00
|
|
|
SESSION_SECRET="Please ⭐ this repository."
|
2023-05-27 02:16:06 +01:00
|
|
|
```
|
2023-05-30 19:58:22 +01:00
|
|
|
|
|
|
|
## Troubleshooting
|
|
|
|
|
|
|
|
### App does not connect to MongoDB on Windows?
|
|
|
|
- Ensure MongoDB is installed.
|
|
|
|
- If localhost does not work, use `mongodb://127.0.0.1:27017/accord`.
|
|
|
|
- https://stackoverflow.com/a/73139137/8304458
|