This project is a NestJS backend for real-time messaging with end-to-end encryption using the Diffie–Hellman key exchange protocol and Prisma ORM.
- Real-time messaging system
- End-to-end encryption using Diffie–Hellman key exchange
- Secure storage and retrieval of messages using Prisma ORM
- Scalable and maintainable architecture with NestJS
- Auth and sessions system
- Node.js
- NestJS
- Prisma
-
Clone the repository:
git clone https://github.com/eduhdev12/echat
-
Install dependencies:
cd echat npm install
-
Set up the database connection in
.env
file:DATABASE_URL="your_database_url" CLIENT_ENDPOINT="frontend_path" JWT_SECRET="randomGenerated" DH_PUBLIC_KEY= DH_IV_KEY=
-
Run migrations to set up the database schema:
npx prisma migrate dev
-
Start the server:
npm run build && npm run start
Once the server is running, configure the front-end with auth panel here
This project is licensed under the MIT License.