2025-03-21 18:36:06 +01:00
|
|
|
# PVTChat - Messaging Made Simple.
|
|
|
|
PVTChat is an app, similar to Discord, but cooler.
|
2023-05-27 05:17:15 +01:00
|
|
|
Built with React, TypeScript, and Node.js.
|
2025-03-21 18:36:06 +01:00
|
|
|
Main point of PVT Chat is to fix accord bugs and continue maintenance for said app.
|
2021-11-12 14:40:18 +00:00
|
|
|
|
2025-03-21 18:36:06 +01:00
|
|
|
**PVTChat is based on [acrd.app](https://github.com/theADAMJR/acrd.app), leave a star to original creator!**
|
2021-08-03 17:06:01 +01:00
|
|
|
|
2023-05-31 02:59:30 +01:00
|
|
|
<img src="./github/text-channel.png" alt="Text Channel" border="0" width="49.5%" height="49.5%" /> <img src="./github/accord-themes.gif" alt="Custom Themes Showcase" border="0" width="49.5%" height="49.5%" />
|
|
|
|
<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> <img src="./github/profile-showcase.png" alt="Profile Showcase" border="0" width="49.5%" height="49.5%" /> <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> <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>
|
2021-08-03 17:06:01 +01:00
|
|
|
|
2021-10-09 20:05:19 +01:00
|
|
|
---
|
|
|
|
|
|
|
|
## Setup
|
|
|
|
|
2025-03-21 18:36:06 +01:00
|
|
|
1. Clone the repo (from Gitea).
|
2023-05-30 21:02:29 +01:00
|
|
|
2. Generate JWT key (secure user logins).
|
2025-03-21 18:36:06 +01:00
|
|
|
From app directory:
|
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
|
|
|
```
|
2023-05-30 23:01:43 +01:00
|
|
|
4. Add upload folder.
|
|
|
|
```
|
|
|
|
mkdir -p assets/upload
|
|
|
|
```
|
|
|
|
5. 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)
|
|
|
|
|
2025-03-21 18:36:06 +01:00
|
|
|
|
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
|
|
|
|
2023-06-07 06:46:37 +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`.
|
2023-06-07 06:46:37 +01:00
|
|
|
- https://stackoverflow.com/a/73139137/8304458
|