ShitShat is a messaging platform that allows users to create groups, send messages, and manage connections with others. This repository contains the backend API for ShitShat, built with ASP.NET Core Web API and Entity Framework.
- User Authentication: Register and login with JWT-based authentication.
- Groups: Create groups, manage group members, and send messages within groups.
- Connections: Send, accept, and delete connection requests between users.
- Messages: Send and receive messages in groups with rich user information (username, avatar).
- ASP.NET Core Web API
- Entity Framework Core
- JWT Authentication
- SQL Server (Database)
- Refactor all validation logic for better maintainability and consistency.
- Refactor all generic responses to standardize the format and improve error handling.
-
Auth
POST /api/v1/auth/register
- Register a new userPOST /api/v1/auth/login
- Login a user
-
Connection
POST /api/v1/connection/add
- Send a new connection requestPUT /api/v1/connection/accept
- Accept a friend requestDELETE /api/v1/connection/delete
- Delete a friend
-
Group
POST /api/v1/group
- Create a new groupGET /api/v1/group/{groupGuid}
- Get group detailsPOST /api/v1/group/{groupGuid}/members
- Add members to a groupGET /api/v1/group/{groupGuid}/members
- List group membersGET /api/v1/group/{groupGuid}/messages
- Get group messagesPOST /api/v1/group/{groupGuid}/messages
- Send a message to a group
-
User
GET /api/v1/user/{guid}
- Get a specific user by GUIDPUT /api/v1/user/avatar
- Update user avatarGET /api/v1/user/connections
- Get user's connectionsGET /api/v1/user/groups
- Get groups the user is a part of