ChatNet is an API for chat application that allows users to chat with each other in real time.
- User registration and authentication
- Creating and joining chats
- Sending and receiving messages
- Sending and receiving files
- Receiving notifications in real time
- Framework: ASP.NET Core 7.0
- Database: PostgreSQL
- MessageQueue: RabbitMQ
- Gateway: Ocelot
- Real-time communication: SignalR
- Logging: Serilog
- Containerization: Docker
- Reverse proxy: Nginx
- Clone the repository
- Install requirements:
- Run services together:
- ChatNet.Auth.API
- ChatNet.Backend.API
- ChatNet.Files.API
- ChatNet.Gateway
- ChatNet.Notification.API
- (Optional) Run service to work with notifications:
- ChatNet.Notifications.Client
- Clone the repository
- 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
- Copy
- Install Docker and Docker Compose (link)
- Create docker network
docker network create external-network
- Run
docker-compose up -d
to start the containers
- Logs are stored in the
/var/log/chat-net
folder
Full API documentation is available at http://hostname/api/swagger/index.html