Files
tukangketik-web/docs/03-database-design.md
T

189 lines
2.0 KiB
Markdown

Database Design
Database
Name:
tukangketik
---
users
Administrator website.
Columns
Column| Type
id| bigint
name| varchar(255)
email| varchar(255)
password| varchar(255)
role| varchar(50)
created_at| datetime
updated_at| datetime
Notes
Initial version supports single administrator.
Future version may support multiple users.
---
posts
Blog articles.
Columns
Column| Type
id| bigint
title| varchar(255)
slug| varchar(255)
excerpt| text
content| longtext
featured_image| varchar(255)
meta_title| varchar(255)
meta_description| text
meta_keywords| text
status| varchar(50)
published_at| datetime
created_at| datetime
updated_at| datetime
deleted_at| datetime
Status
- draft
- published
---
categories
Blog categories.
Columns
Column| Type
id| bigint
name| varchar(100)
slug| varchar(100)
created_at| datetime
updated_at| datetime
deleted_at| datetime
---
post_categories
Many-to-many relationship.
Columns
Column| Type
post_id| bigint
category_id| bigint
---
tags
Blog tags.
Columns
Column| Type
id| bigint
name| varchar(100)
slug| varchar(100)
created_at| datetime
updated_at| datetime
deleted_at| datetime
---
post_tags
Many-to-many relationship.
Columns
Column| Type
post_id| bigint
tag_id| bigint
---
projects
Portfolio projects.
Columns
Column| Type
id| bigint
title| varchar(255)
slug| varchar(255)
description| text
github_url| varchar(255)
project_url| varchar(255)
image| varchar(255)
tech_stack| text
featured| boolean
created_at| datetime
updated_at| datetime
deleted_at| datetime
---
contacts
Messages from contact form.
Columns
Column| Type
id| bigint
name| varchar(255)
email| varchar(255)
subject| varchar(255)
message| text
created_at| datetime
---
settings
Website configuration.
Columns
Column| Type
id| bigint
key| varchar(255)
value| text
created_at| datetime
updated_at| datetime
Example Keys
site_title
site_description
site_keywords
about_content
contact_email
contact_phone
github_url
linkedin_url
google_analytics_id