Friend Service System Design
The Friend feature facilitates the management of user relationships, enabling connections and providing options for blocking interactions when necessary. This functionality enhances player connectivity and serves as a foundation for additional features, such as activity tracking and social engagement opportunities.
- Backend
- Tutorials
- AWS
Use cases diagram#
Database details#
Database: NoSQL#
| # | Database Collection | Description |
| 1 | friend_friend_requests | • id: uuid • recipient_profile_id: ObjectId • requester_profile_id: ObjectId • status: String "PENDING"|"ACCEPTED"|"DECLINED" • message: String • feedback: String • created_at: Date • created_by: ObjectId • modified_at: Date • modified_by: ObjectId |
| 2 | friend_friends | • id: uuid • profile_id: ObjectId • friend_profile_id: ObjectId • created_at: Date • created_by: ObjectId • modified_at: Date • modified_by: ObjectId • deleted_at: Date • deleted_by: ObjectId |
Database relationship#
API details#
| # | Path | Description | Method | Headers | Request | Response |
| 1 | profile/internal/v1/{userId}/friend-requests | View pending friend requests | GET | • x-server-key | N/A | { items: [ { id: String, recipientProfileId: ObjectId, requesterProfileId: ObjectId, status: String "PENDING"|"ACCEPTED"|"DECLINED", message: String, feedback: String, createdAt: Date, createdBy: ObjectId, modifiedAt: Date, modifiedBy: ObjectId } ] paging: { cursors: { before: String, after: String } }} |
| 2 |
Diagrams#
Enjoyed this? Get the next one by email.
Keep reading
How to write technical specification
Because after a long period of time, we may not be able to remember what and why we decide for that design.
Exploring Colyseus: Building Scalable Game Servers and Enhancing Team Performance
In the world of multiplayer game development, having a robust and scalable game server is crucial for delivering a seamless gaming experience to players. In this blog post, we'll dive into Colyseus, a powerful framework for building game servers, and explore its features, benefits, and how it can improve team performance. We'll also take a closer look at the Colyseus playground and its role in game server development.