https://github.com/sulkhans/telex
Full-stack chat app
https://github.com/sulkhans/telex
chat-application express neondb postgresql prisma react reactquery socket-io tailwindcss typescript
Last synced: 3 months ago
JSON representation
Full-stack chat app
- Host: GitHub
- URL: https://github.com/sulkhans/telex
- Owner: Sulkhans
- Created: 2025-05-12T08:48:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-12T12:03:04.000Z (about 1 year ago)
- Last Synced: 2025-05-12T21:08:46.447Z (about 1 year ago)
- Topics: chat-application, express, neondb, postgresql, prisma, react, reactquery, socket-io, tailwindcss, typescript
- Language: TypeScript
- Homepage: https://telex-jv2u.onrender.com
- Size: 927 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TELEX
Telex is a full-stack real-time chat application built with React.


## Features
- **Authentication System**
Secure user registration with email confirmation
- **User Status Management**
Customize your online presence
- **Social Interactions**
Add friends by username
Direct messaging
- **Message Management**
Edit and delete sent messages
- **Channel Creation**
Create channels with shareable join links
Admin roles with message deletion and user management privileges
## Tech Stack
#### Backend
- **Language & Framework**: Node.js with Express
- **Database**: PostgreSQL
- **ORM**: Prisma
- **Key Dependencies**:
- `@prisma/client`
- `bcryptjs`
- `crypto`
- `express`
- `jsonwebtoken`
- `nodemailer`
- `socket.io`
#### Frontend
- **Framework**: React + Vite
- **Language**: TypeScript
- **Styling**: Tailwind CSS v4
- **State Management**:
- React Query
- React Context
- **HTTP Client**: Axios
- **Key Dependencies**:
- `react`
- `react-router-dom`
- `@tanstack/react-query`
- `socket.io-client`
## Installation Guide
### Prerequisites
1. **Email Configuration**
- Create a Google Account
- Generate an App Password:
- Go to Google Account > Security
- Enable 2-Step Verification
- Go to App Passwords
- Select "Mail" and your device
- Copy the generated 16-character password
2. **Database Setup**
- Option 1: Local PostgreSQL database
- Option 2: Create a free Neon.tech PostgreSQL database
### Installation Steps
##### 1. Clone the repository
```bash
git clone https://github.com/Sulkhans/Telex.git
cd Telex
```
##### 2. Install Backend Dependencies
```bash
npm install
```
##### 3. Create `.env` File
```
PORT=5000
NODE_ENV=development
JWT_SECRET={your_jwt_secret}
CORS_ORIGIN={http://localhost:5173}
DATABASE_URL={your_database_connection_string}
EMAIL_USER={your_google_email@gmail.com}
EMAIL_PASS={your_generated_app_password}
```
##### 4. Install Frontend Dependencies
```bash
cd frontend
npm install
```
##### 5. Run the Application
```bash
# From project root
npm run backend # Starts backend server
npm run frontend # Starts frontend development server
```
##### 6. Access the Application
The application will be available at `http://localhost:5173`
### Notes
- Confirmation emails might be filtered to the spam folder
- Ensure all environment variables are correctly configured