Skip to content

vsupruniuk/chatify-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

565 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages