# PVTChat - Messaging Made Simple. PVTChat is an app, similar to Discord, but cooler. Built with React, TypeScript, and Node.js. Main point of PVT Chat is to fix accord bugs and continue maintenance for said app. **PVTChat is based on [acrd.app](https://github.com/theADAMJR/acrd.app), leave a star to original creator!** Text Channel Custom Themes Showcase Screenshot-from-2021-08-31-16-09-41 Profile Showcase Screenshot-from-2021-08-30-13-30-43 Screenshot-from-2021-08-30-11-55-01 --- ## Setup 1. Clone the repo (from Gitea). 2. Generate JWT key (secure user logins). From app directory: ``` mkdir -p backend/keys ssh-keygen -t rsa -b 2048 -m PEM -f backend/keys/jwt ``` 3. 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 ``` 4. Add upload folder. ``` mkdir -p assets/upload ``` 5. In `backend` directory, configure `.env.example` and rename the file to `.env` --- ## 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) --- `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." ``` --- ## 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