

| # | 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 |

| # | 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 | profile/internal/v1/{userId}/friend-requests | Send personalized friend request | POST | • x-server-key | { recipientProfileId: String, message?: String, } | { id: String, recipientProfileId: ObjectId, requesterProfileId: ObjectId, status: "PENDING", message: String, feedback: String, createdAt: Date, createdBy: ObjectId, modifiedAt: Date, modifiedBy: ObjectId} |
| 3 | profile/internal/v1/{userId}/friend-requests/{requestId}/accept | Accept friend request | PUT | • x-server-key | N/A | SuccessResponseDTO |
| 4 | profile/internal/v1/{userId}/friend-requests/{requestId}/decline | Decline friend request | PUT | • x-server-key | { feedback?: String } | SuccessResponseDTO |
| 5 | profile/internal/v1/{userId}/friends | View all friends | GET | • x-server-key | N/A | { items: [ { id: String, profileId: ObjectId friendProfileId: ObjectId createdAt: Date, createdBy: ObjectId, modifiedAt: Date, modifiedBy: ObjectId, deletedAt: Date, deletedBy: ObjectId } ] paging: { cursors: { before: String, after: String } }} |
| 6 | profile/internal/v1/{userId}/friends/{friendProfileId} | Remove a friend | DELETE | • x-server-key | N/A | SuccessResponseDTO |
| 7 | profile/cms/v1/{userId}/friend-requests | View all friend requests | GET | • x-access-token | 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 } }} |
| 8 | profile/cms/v1/{userId}/friends | View all friends | GET | • x-access-token | N/A | { items: [ { id: String, profileId: ObjectId friendProfileId: ObjectId createdAt: Date, createdBy: ObjectId, modifiedAt: Date, modifiedBy: ObjectId, deletedAt: Date, deletedBy: ObjectId } ] paging: { cursors: { before: String, after: String } }} |



The purpose of life is to live fully and explore every aspect of existence. The search for a higher, god-given purpose often leads to harm and neglect of life itself. The need for purpose stems from our psychological structure, not the process of life. Achieving balance allows us to dismantle the walls of our psychological maze and experience freedom. This exploration and understanding of all dimensions of life is the true purpose of life.
Beiryu
Contributor

This article provides a detailed overview of the deployment process, infrastructure. It covers everything from Git branching strategies to AWS infrastructure, CI/CD pipelines, database setup, and security considerations.
Beiryu
Contributor