{"id":24294380,"url":"https://github.com/krlan2789/lan-socialmedia-api","last_synced_at":"2026-04-07T09:31:05.561Z","repository":{"id":271417491,"uuid":"912753188","full_name":"krlan2789/Lan-SocialMedia-API","owner":"krlan2789","description":"ASP.NET Project - Social Media REST API","archived":false,"fork":false,"pushed_at":"2025-04-23T23:38:48.000Z","size":209,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T08:06:13.190Z","etag":null,"topics":["asp-net-core","azure-app-service","csharp","entity-framework-core","openapi","rest-api","scalar","sqlite"],"latest_commit_sha":null,"homepage":"https://langeng.azurewebsites.net/api/docs/v1","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krlan2789.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-06T10:21:24.000Z","updated_at":"2025-04-24T08:36:52.000Z","dependencies_parsed_at":"2025-06-21T08:06:14.334Z","dependency_job_id":"8aaa49c2-18d6-4050-a543-11e7cb19dd23","html_url":"https://github.com/krlan2789/Lan-SocialMedia-API","commit_stats":null,"previous_names":["krlan2789/lan-socialmedia-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krlan2789/Lan-SocialMedia-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlan2789%2FLan-SocialMedia-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlan2789%2FLan-SocialMedia-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlan2789%2FLan-SocialMedia-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlan2789%2FLan-SocialMedia-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krlan2789","download_url":"https://codeload.github.com/krlan2789/Lan-SocialMedia-API/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krlan2789%2FLan-SocialMedia-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273794065,"owners_count":25169521,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","azure-app-service","csharp","entity-framework-core","openapi","rest-api","scalar","sqlite"],"created_at":"2025-01-16T17:38:47.922Z","updated_at":"2025-12-30T21:30:05.898Z","avatar_url":"https://github.com/krlan2789.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 1. Lan-SocialMedia-API\n\nASP.NET Project - Social Media REST API\n\n## 1.1. **Concepts**\n\n### 1.1.1. Roles and Actions\n\n| No  | Owner                   | Viewer             |\n| --- | ----------------------- | ------------------ |\n| 1   | Manage Profile          | View Profile       |\n| 2   | Create Posts            | View Posts         |\n| 3   | Manage Posts            | Hide Posts         |\n| 4   | Create Comment          | Create Comment     |\n| 5   | Edit Comment            | Edit Comment       |\n| 6   | Hide Comment            | Like Post          |\n| 7   | Like Post               | View Event         |\n| 8   | Create Event            | Request Join Event |\n| 9   | Manage Event            |                    |\n| 10  | Invite Event Attendance |                    |\n|     |                         |                    |\n\n## 1.2. **Type Enum**\n\n### 1.2.1. AccountStatusEnum\n\n| Code | Label      |\n| ---- | ---------- |\n| 1    | Unverified |\n| 2    | Verified   |\n| 3    | Suspend    |\n| 4    | Inactive   |\n| 5    | Deleted    |\n|      |            |\n\n### 1.2.2. GroupMemberStatusEnum\n\n| Code | Label    |\n| ---- | -------- |\n| 1    | Request  |\n| 2    | Approved |\n| 3    | Rejected |\n| 4    | Left     |\n| 5    | Removed  |\n|      |          |\n\n### 1.2.3. PrivacyTypeEnum\n\n| Code | Label     |\n| ---- | --------- |\n| 1    | Public    |\n| 2    | Protected |\n| 3    | Private   |\n|      |           |\n\n### 1.2.4. ReactionTypeEnum\n\n| Code | Label      |\n| ---- | ---------- |\n| 1    | Like       |\n| 2    | Funny      |\n| 3    | Insightful |\n| 4    | Sad        |\n|      |            |\n\n### 1.2.5. VerificationTypeEnum\n\n| Code | Label               |\n| ---- | ------------------- |\n| 1    | Register            |\n| 10   | UsernameChanges     |\n| 20   | PasswordChanges     |\n| 21   | PasswordReset       |\n| 40   | AccountDeactivation |\n| 41   | AccountDeletion     |\n|      |                     |\n\n### 1.2.6. MediaTypeEnum\n\n| Code | Label |\n| ---- | ----- |\n| 1    | Image |\n| 2    | Audio |\n| 3    | Video |\n|      |       |\n\n## 1.3. **Database**\n\n### 1.3.1. Table Users\n\n|     | Name         | Type     |                                             |\n| --- | ------------ | -------- | ------------------------------------------- |\n| PK  | **Id**       | int      | Auto-increament                             |\n|     | Fullname     | string   | Length(255)                                 |\n|     | Username     | string   | Length(64), unique                          |\n|     | Email        | string   | Length(128), unique                         |\n|     | PasswordHash | string   | Length(255)                                 |\n|     | DeletedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n|     | CreatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | UpdatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.2. Table UserProfiles\n\n|     | Name         | Type     |                                    |\n| --- | ------------ | -------- | ---------------------------------- |\n| PK  | **Id**       | int      | Auto-increament                    |\n|     | Bio          | string   | nullable                           |\n|     | ProfileImage | string   | nullable                           |\n|     | PhoneNumber  | string   | Length(32), unique, nullable       |\n|     | CityBorn     | string   | Length(255), nullable              |\n|     | CityHome     | string   | Length(255), nullable              |\n|     | BirthDate    | DateOnly | Length(10), 'yyyy-MM-dd', nullable |\n| FK  | **UserId**   | int      |                                    |\n|     | CreatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'  |\n|     | UpdatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'  |\n\n### 1.3.3. Table UserStatus\n\n|     | Name          | Type     |                                   |\n| --- | ------------- | -------- | --------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                   |\n|     | AccountStatus | byte     | Enum(AccountStatusEnum)           |\n| FK  | **UserId**    | int      |                                   |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.4. Table UserTokens\n\n|     | Name        | Type     |                                   |\n| --- | ----------- | -------- | --------------------------------- |\n| PK  | **Id**      | int      | Auto-increament                   |\n|     | Token       | string   | Unique                            |\n|     | UserAgent   | string   |                                   |\n|     | ExpiresDate | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n| FK  | **UserId**  | int      |                                   |\n|     | CreatedAt   | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.5. Table UserVerifications\n\n|     | Name             | Type     |                                             |\n| --- | ---------------- | -------- | ------------------------------------------- |\n| PK  | **Id**           | int      | Auto-increament                             |\n|     | Code             | string   | Length(6)                                   |\n|     | VerificationType | byte     | Enum(VerificationTypeEnum)                  |\n|     | PhoneNumber      | string   | Length(32), nullable                        |\n|     | Email            | string   | Length(128), nullable                       |\n|     | ExpiresDate      | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | VerifiedAt       | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n| FK  | **UserId**       | int      |                                             |\n|     | CreatedAt        | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.6. Table UserVerificationTokens\n\n|     | Name             | Type     |                                             |\n| --- | ---------------- | -------- | ------------------------------------------- |\n| PK  | **Id**           | int      | Auto-increament                             |\n|     | Token            | string   |                                             |\n|     | VerificationType | byte     | Enum(VerificationTypeEnum)                  |\n|     | Email            | string   | Length(128), nullable                       |\n|     | ExpiresDate      | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | VerifiedAt       | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n| FK  | **UserId**       | int      |                                             |\n|     | CreatedAt        | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.7. Table UserSessionLogs\n\n|     | Name       | Type     |                                   |\n| --- | ---------- | -------- | --------------------------------- |\n| PK  | **Id**     | int      | Auto-increament                   |\n|     | IpAddress  | string   | Length(64), nullable              |\n|     | UserAgent  | string   | nullable                          |\n|     | Action     | string   | nullable                          |\n| FK  | **UserId** | int      | nullable                          |\n|     | CreatedAt  | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.8. Table Groups\n\n|     | Name          | Type     |                                             |\n| --- | ------------- | -------- | ------------------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                             |\n|     | Name          | string   | Length(255)                                 |\n|     | Slug          | string   | Length(255), unique                         |\n|     | PrivacyType   | byte     | Enum(PrivacyTypeEnum)                       |\n|     | ProfileImage  | string   | nullable                                    |\n|     | Description   | string   | Length(1024), nullable                      |\n| FK  | **CreatorId** | int      |                                             |\n|     | DeletedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | UpdatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.9. Table GroupMembers\n\n|     | Name         | Type     |                                             |\n| --- | ------------ | -------- | ------------------------------------------- |\n| PK  | **Id**       | int      | Auto-increament                             |\n|     | Slug         | string   | Length(255), unique                         |\n|     | Status       | byte     | Enum(GroupMemberStatusEnum)                 |\n| FK  | **GroupId**  | int      |                                             |\n| FK  | **MemberId** | int      |                                             |\n|     | JoinedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n|     | CreatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | UpdatedAt    | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.10. Table UserPosts\n\n|     | Name                | Type     |                                             |\n| --- | ------------------- | -------- | ------------------------------------------- |\n| PK  | **Id**              | int      | Auto-increament                             |\n|     | Slug                | string   | Length(255), unique                         |\n|     | CommentAvailability | bool     | default(true)                               |\n|     | Content             | string   | nullable                                    |\n| FK  | **AuthorId**        | int      |                                             |\n| FK  | **GroupId**         | int      | nullable                                    |\n|     | DeletedAt           | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n|     | CreatedAt           | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | UpdatedAt           | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.11. Table PostMedia\n\n|     | Name       | Type     |                                   |\n| --- | ---------- | -------- | --------------------------------- |\n| PK  | **Id**     | int      | Auto-increament                   |\n|     | MediaPath  | string   |                                   |\n|     | MediaType  | byte     | Enum(MediaTypeEnum)               |\n| FK  | **PostId** | int      |                                   |\n|     | CreatedAt  | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.12. Table Hashtags\n\n|     | Name      | Type     |                                   |\n| --- | --------- | -------- | --------------------------------- |\n| PK  | **Id**    | int      | Auto-increament                   |\n|     | Tag       | string   | Length(64), unique                |\n|     | CreatedAt | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.13. Table PostHashtags\n\n|     | Name          | Type     |                                   |\n| --- | ------------- | -------- | --------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                   |\n| FK  | **PostId**    | int      |                                   |\n| FK  | **HashtagId** | int      |                                   |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.14. Table PostComments\n\n|     | Name          | Type     |                                             |\n| --- | ------------- | -------- | ------------------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                             |\n|     | Content       | string   |                                             |\n| FK  | **UserId**    | int      |                                             |\n| FK  | **PostId**    | int      |                                             |\n| FK  | **CommentId** | int      | nullable                                    |\n|     | DeletedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss', nullable |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n|     | UpdatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss'           |\n\n### 1.3.15. Table PostReactions\n\n|     | Name       | Type     |                                   |\n| --- | ---------- | -------- | --------------------------------- |\n| PK  | **Id**     | int      | Auto-increament                   |\n|     | Type       | byte     | Enum(ReactionTypeEnum)            |\n| FK  | **PostId** | int      |                                   |\n| FK  | **UserId** | int      |                                   |\n|     | CreatedAt  | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n|     | UpdatedAt  | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.16. Table CommentReactions\n\n|     | Name          | Type     |                                   |\n| --- | ------------- | -------- | --------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                   |\n|     | Type          | byte     | Enum(ReactionTypeEnum)            |\n| FK  | **CommentId** | int      |                                   |\n| FK  | **UserId**    | int      |                                   |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n|     | UpdatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n\n### 1.3.17. Table UserEvents (Not Yet Implemented)\n\n|     | Name          | Type     |                                   |\n| --- | ------------- | -------- | --------------------------------- |\n| PK  | **Id**        | int      | Auto-increament                   |\n|     | Name          | string   | Length(255)                       |\n|     | Slug          | string   | Length(255), unique               |\n|     | Description   | string   | Length(2048), nullable            |\n|     | Location      | string   | Length(255)                       |\n|     | StartTime     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n|     | EndTime       | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n| FK  | **CreatorId** | int      |                                   |\n| FK  | **GroupId**   | int      | nullable                          |\n| FK  | **PostId**    | int      | nullable                          |\n|     | CreatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n|     | UpdatedAt     | DateTime | Length(20), 'yyyy-MM-dd HH:mm:ss' |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlan2789%2Flan-socialmedia-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrlan2789%2Flan-socialmedia-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrlan2789%2Flan-socialmedia-api/lists"}