Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

iamKhang/vodka-be

Open more actions menu

Repository files navigation

Vodka Chat Backend

Nest Logo

Description

Vodka is a real-time chat application built with NestJS, featuring modern communication features and robust backend architecture. This repository contains the backend implementation of the Vodka chat application.

Features

  • 🔐 Authentication & Authorization
  • 💬 Real-time messaging with WebSocket
  • 👥 Group chat functionality
  • 👤 User management
  • 📱 Contact management
  • 📨 Message history
  • 🔍 Search functionality
  • 📱 QR Code generation for easy sharing
  • 🤖 AI-powered features
  • 📧 Email notifications
  • 📱 SMS notifications
  • 💾 File storage
  • 🔄 Caching system

Tech Stack

  • Framework: NestJS
  • Language: TypeScript
  • Database: Prisma ORM
  • Real-time: WebSocket
  • Authentication: JWT
  • Storage: File system
  • Caching: Redis
  • AI Integration: OpenAI
  • Notifications: Email & SMS services

Project Structure

src/
├── ai/           # AI integration features
├── auth/         # Authentication & authorization
├── cache/        # Caching system
├── contact/      # Contact management
├── event/        # Event handling
├── friend/       # Friend management
├── group/        # Group chat functionality
├── mail/         # Email service
├── message/      # Message handling
├── prisma/       # Database schema and migrations
├── qr-code/      # QR code generation
├── sms/          # SMS service
├── storage/      # File storage
└── user/         # User management

Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • Redis (for caching)
  • Database (configured in Prisma)

Installation

# Install dependencies
$ npm install

# Set up environment variables
$ cp .env.example .env
# Edit .env with your configuration

Running the Application

# Development
$ npm run start

# Watch mode
$ npm run start:dev

# Production mode
$ npm run start:prod

Database Setup

# Generate Prisma client
$ npx prisma generate

# Run migrations
$ npx prisma migrate dev

API Documentation

The API documentation is available at /api when running the application in development mode.

Testing

# Unit tests
$ npm run test

# E2E tests
$ npm run test:e2e

# Test coverage
$ npm run test:cov

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Project Backend cho ứng dụng "Vodka - Nhắn tin thời gian thực" - Đồ án môn học "Công nghệ mới trong phát triển phần mềm"

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.