Accord is an app, similar to Discord, but cooler. Built with React, TypeScript, and Node.js.
Please ⭐ this repo to support development.
Want more stable commits? Use the stable branch.
- Clone the repo (from GitHub).
- Generate JWT key (secure user logins).
From app directory (with Git bash):
mkdir -p backend/keys ssh-keygen -t rsa -b 2048 -m PEM -f backend/keys/jwt
- Install npm packages.
From app directory:
# Install global dependencies npm i -g typescript # Install local packages cd frontend && npm i -f cd ../backend && npm i -f
- Add upload folder.
mkdir -p assets/upload
- In
backend
directory, configure.env.example
and rename the file to.env
- 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)
Want a more basic version, that's more like Discord? https://github.com/codea-live/dclone
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"
SESSION_SECRET="Please ⭐ this repository."
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"
SESSION_SECRET="Please ⭐ this repository."
- Ensure MongoDB is installed.
- If localhost does not work, use
mongodb://127.0.0.1:27017/accord
.