Skip to content

Серверная часть командного проекта по созданию мессенджера с возможностью real-time общения и отправки файлов

Notifications You must be signed in to change notification settings

Apochromat/chat-net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatNet

ChatNet is an API for chat application that allows users to chat with each other in real time.

Features

  • User registration and authentication
  • Creating and joining chats
  • Sending and receiving messages
  • Sending and receiving files
  • Receiving notifications in real time

Technologies and tools:

  • Framework: ASP.NET Core 7.0
  • Database: PostgreSQL
  • MessageQueue: RabbitMQ
  • Gateway: Ocelot
  • Real-time communication: SignalR
  • Logging: Serilog
  • Containerization: Docker
  • Reverse proxy: Nginx

Installation

On local machine

  1. Clone the repository
  2. Install requirements:
  3. Run services together:
    • ChatNet.Auth.API
    • ChatNet.Backend.API
    • ChatNet.Files.API
    • ChatNet.Gateway
    • ChatNet.Notification.API
  4. (Optional) Run service to work with notifications:
    • ChatNet.Notifications.Client

On server

  1. Clone the repository
  2. Configure Nginx:
    • Copy nginx.conf to /etc/nginx/sites-available/chatnet
    • Create a symbolic link to /etc/nginx/sites-enabled/chatnet
    • Restart Nginx nginx -s reload
  3. Install Docker and Docker Compose (link)
  4. Create docker network docker network create external-network
  5. Run docker-compose up -d to start the containers
  • Logs are stored in the /var/log/chat-net folder

API Documentation

Full API documentation is available at http://hostname/api/swagger/index.html

About

Серверная часть командного проекта по созданию мессенджера с возможностью real-time общения и отправки файлов

Resources

Stars

Watchers

Forks