A monolite web server application built with chi and gorilla websocket
- One-to-one chat with other users
- Group chat with
- Send files with in websocket
- Admin privileges in group chat
- Can change profile picture of user and group
- User can send, receive, accept, and reject friend requests
- Rate limiting to avoid api abuse
- Otp verification for sign up, reset password, and sign in with email
- Supports sign-in with username
Database: PostgresDb.
Caching: redis.
Api Documentation: swagger.
clone repo add evn file navigate to main.go to see env properties. sql for creating db tables are in the batabase folder.