# ssahibsingh/social-media-database-project architecture

> Architecture diagram of the GitHub repository ssahibsingh/social-media-database-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ssahibsingh/social-media-database-project
- Repository: https://github.com/ssahibsingh/social-media-database-project
- Video tour (about a minute): https://gitdiagram.com/ssahibsingh/social-media-database-project/video

## Overview

This repository is a SQL design for a basic social-media database, not a running frontend or service. Its documented scope covers user accounts and social connections, image/video posts, and public interactions such as likes, comments, bookmarks, and hashtag follows. The tree also includes a schema, database definition, and sample queries. No SQL source excerpts were provided, so the graph reflects only the documented entities and their evident conceptual relationships; it does not assert specific foreign keys or execution flows.

Main entry points: [`Database/users.sql`](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/users.sql) (Users), [`Database/post.sql`](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post.sql) (Posts), [`Database/comments.sql`](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/comments.sql) (Comments), [`Database/post_tags.sql`](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post_tags.sql) (Post tags)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundation["Database foundation"]
  node_schema["Schema<br/>[schema.sql]"]
  node_database_definition["Database definition<br/>[table_database.sql]"]
  node_sample_queries["Sample queries<br/>[queries.sql]"]
end

subgraph group_accounts["Accounts and connections"]
  node_users[("Users<br/>[users.sql]")]
  node_login[("Login<br/>[login.sql]")]
  node_follows[("Follows<br/>[follows.sql]")]
end

subgraph group_content["Posts and media"]
  node_photos[("Photos<br/>[photos.sql]")]
  node_videos[("Videos<br/>[videos.sql]")]
  node_posts[("Posts<br/>[post.sql]")]
  node_post_tags[("Post tags<br/>[post_tags.sql]")]
end

subgraph group_activity["Social activity"]
  node_hashtags[("Hashtags<br/>[hashtags.sql]")]
  node_hashtag_follow[("Hashtag follows<br/>[hashtag_follow.sql]")]
  node_post_likes[("Post likes<br/>[post_likes.sql]")]
  node_comments[("Comments<br/>[comments.sql]")]
  node_comment_likes[("Comment likes<br/>[comment_likes.sql]")]
  node_bookmarks[("Bookmarks<br/>[bookmarks.sql]")]
end

node_users -->|"authenticates"| node_login
node_users -->|"connects users"| node_follows
node_users -->|"authors"| node_posts
node_posts -->|"stores media"| node_photos
node_posts -->|"stores media"| node_videos
node_posts -->|"tagged with"| node_post_tags
node_post_tags -->|"references"| node_hashtags
node_users -->|"follows topics"| node_hashtag_follow
node_hashtag_follow -->|"tracks follows"| node_hashtags
node_users -->|"likes posts"| node_post_likes
node_post_likes -->|"records likes"| node_posts
node_users -->|"comments on posts"| node_comments
node_comments -->|"belongs to"| node_posts
node_users -->|"likes comments"| node_comment_likes
node_comment_likes -->|"records likes"| node_comments
node_users -->|"saves posts"| node_bookmarks
node_bookmarks -->|"references"| node_posts

click node_schema "https://github.com/ssahibsingh/social-media-database-project/blob/main/schema.sql"
click node_database_definition "https://github.com/ssahibsingh/social-media-database-project/blob/main/table_database.sql"
click node_sample_queries "https://github.com/ssahibsingh/social-media-database-project/blob/main/queries.sql"
click node_users "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/users.sql"
click node_login "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/login.sql"
click node_follows "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/follows.sql"
click node_photos "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/photos.sql"
click node_videos "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/videos.sql"
click node_posts "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post.sql"
click node_post_tags "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post_tags.sql"
click node_hashtags "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/hashtags.sql"
click node_hashtag_follow "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/hashtag_follow.sql"
click node_post_likes "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post_likes.sql"
click node_comments "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/comments.sql"
click node_comment_likes "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/comment_likes.sql"
click node_bookmarks "https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/bookmarks.sql"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_schema,node_database_definition,node_sample_queries toneBlue
class node_users,node_login,node_follows toneAmber
class node_photos,node_videos,node_posts,node_post_tags toneMint
class node_hashtags,node_hashtag_follow,node_post_likes,node_comments,node_comment_likes,node_bookmarks toneRose
```

## Components

### Database foundation

- [Schema](https://github.com/ssahibsingh/social-media-database-project/blob/main/schema.sql): `schema.sql`
- [Database definition](https://github.com/ssahibsingh/social-media-database-project/blob/main/table_database.sql): `table_database.sql`
- [Sample queries](https://github.com/ssahibsingh/social-media-database-project/blob/main/queries.sql): `queries.sql`

### Accounts and connections

- [Users](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/users.sql): `Database/users.sql`
- [Login](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/login.sql): `Database/login.sql`
- [Follows](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/follows.sql): `Database/follows.sql`

### Posts and media

- [Photos](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/photos.sql): `Database/photos.sql`
- [Videos](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/videos.sql): `Database/videos.sql`
- [Posts](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post.sql): `Database/post.sql`
- [Post tags](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post_tags.sql): `Database/post_tags.sql`

### Social activity

- [Hashtags](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/hashtags.sql): `Database/hashtags.sql`
- [Hashtag follows](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/hashtag_follow.sql): `Database/hashtag_follow.sql`
- [Post likes](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/post_likes.sql): `Database/post_likes.sql`
- [Comments](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/comments.sql): `Database/comments.sql`
- [Comment likes](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/comment_likes.sql): `Database/comment_likes.sql`
- [Bookmarks](https://github.com/ssahibsingh/social-media-database-project/blob/main/Database/bookmarks.sql): `Database/bookmarks.sql`

## Connections

- Users → Login: authenticates
- Users → Follows: connects users
- Users → Posts: authors
- Posts → Photos: stores media
- Posts → Videos: stores media
- Posts → Post tags: tagged with
- Post tags → Hashtags: references
- Users → Hashtag follows: follows topics
- Hashtag follows → Hashtags: tracks follows
- Users → Post likes: likes posts
- Post likes → Posts: records likes
- Users → Comments: comments on posts
- Comments → Posts: belongs to
- Users → Comment likes: likes comments
- Comment likes → Comments: records likes
- Users → Bookmarks: saves posts
- Bookmarks → Posts: references
