Skip to content

About

Chatify API is a REST API for chatting application with real-time features build with NestJS as the core technology. Project using a PostgreSQL as a database providing high data-consistency, with TypeORM for safe and efficient manipulations with DB, and WebSockets for bidirectional and real-time user experience.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

565 Commits

Folders and files

Repository files navigation

Chatify API

Docker Image Size Docker Image Version Quality Gate Status Bugs Code Smells Duplicated Lines (%) Reliability Rating Security Rating Maintainability Rating Lines of Code Coverage

Overview

Chatify API is a REST API for chatting application with real-time features built with NestJS as the core technology.
Project using a PostgreSQL as a database providing high data-consistency, with TypeORM for safe and efficient manipulations with DB,
and WebSockets for bidirectional and real-time user experience.

Features

  • Authorization: custom authorization build with JWT access and refresh tokens.
  • User profile: view users public information or update personal public data.
  • Direct chats: private chats between two users with secure message encryption and decryption.

Technologies Stack

  • NestJS: A progressive Node.js framework for efficient and scalable server-side apps.
  • PostgreSQL: Powerful, open-source relational database for high data consistency and scalability.
  • TypeORM: ORM for TypeScript that supports multiple databases and provides flexible and safe interactions with DB.
  • WebSockets: Provides bidirectional communication channels between server and client and allows to implement real-time features.
  • Docker: Containerization technology for software that allows to run the same project everywhere with the same result.

Running the app

Pre-requirements - create a .env file with configured variables

NPM

    npm install
    
    # dev
    npm run start:dev
    
    # prod
    npm run build
    npm run start:prod

Docker

    # build from local Dockerfile (only API)
    docker build -t <image-name>:<tag> .
    docker run -d --env-file <path-to-env-file> --name <container-name> <image-name>:<tag>
    
    # build from docker-compose (API and database)
    docker-compose up --build -d
    
    # or use Makefile
    make up 

About

Chatify API is a REST API for chatting application with real-time features build with NestJS as the core technology. Project using a PostgreSQL as a database providing high data-consistency, with TypeORM for safe and efficient manipulations with DB, and WebSockets for bidirectional and real-time user experience.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages