diff --git a/app/admin/contacts.rb b/app/admin/contacts.rb
index 8187c9c..e941ee3 100644
--- a/app/admin/contacts.rb
+++ b/app/admin/contacts.rb
@@ -17,7 +17,7 @@
remove_filter :deprecated_solution_slug
- filter :solution_slugs_array_in, { as: :select, collection: Solution::CONTACT_OPTIONS.map { |solution_option| [solution_option[:title], solution_option[:slug]] } }
+ filter :solution_slugs_array_in, { as: :select, collection: Contact::SOLUTION_OPTIONS.map { |solution_option| [solution_option[:title], solution_option[:slug]] } }
filter :project_subject
filter :contact_org
filter :contact_manager
@@ -57,7 +57,7 @@
end
form do |f|
- collected_data = Solution::CONTACT_OPTIONS.map { |solution_option| [solution_option[:title], solution_option[:slug], { checked: f.object.solution_slugs.include?(solution_option[:slug].to_s) }] }
+ collected_data = Contact::SOLUTION_OPTIONS.map { |solution_option| [solution_option[:title], solution_option[:slug], { checked: f.object.solution_slugs.include?(solution_option[:slug].to_s) }] }
f.inputs do
f.input :project_subject
f.input :project_body
diff --git a/app/assets/images/solutions/demos/demos_solution_6.png b/app/assets/images/solutions/demos/demos_solution_6.png
new file mode 100644
index 0000000..cd43b4d
Binary files /dev/null and b/app/assets/images/solutions/demos/demos_solution_6.png differ
diff --git a/app/assets/images/solutions/org/org_portfolio_5.jpg b/app/assets/images/solutions/org/org_portfolio_5.jpg
new file mode 100644
index 0000000..2174c5e
Binary files /dev/null and b/app/assets/images/solutions/org/org_portfolio_5.jpg differ
diff --git a/app/assets/stylesheets/_footer.scss b/app/assets/stylesheets/_footer.scss
index 28276f9..ba8f877 100644
--- a/app/assets/stylesheets/_footer.scss
+++ b/app/assets/stylesheets/_footer.scss
@@ -31,6 +31,35 @@ section.contacts {
}
}
+section.activists {
+ padding: 120px 0;
+ background-color: $brand-violet;
+ border-top: 1px solid white;
+ .base-section-title {
+ color: white;
+ }
+ .base-section-desc {
+ color: $brand-violet-light;
+ }
+ .activists-button-container {
+ text-align: center;
+ .btn-contact {
+ margin-top: 24px;
+ font-size: 24px;
+ font-weight: 500;
+ line-height: 32px;
+ color: $brand-violet;
+ background-color: white;
+ padding: 16px 32px;
+ border-radius: 32px;
+ @include media-breakpoint-down(sm) {
+ font-size: 20px;
+ line-height: 28px;
+ }
+ }
+ }
+}
+
footer.app-footer {
padding-top: 120px;
padding-bottom: 120px;
diff --git a/app/assets/stylesheets/_solutions.scss b/app/assets/stylesheets/_solutions.scss
index a23099e..a2822d6 100644
--- a/app/assets/stylesheets/_solutions.scss
+++ b/app/assets/stylesheets/_solutions.scss
@@ -150,6 +150,32 @@ body.body-solutions {
}
}
+ section.tiles-with {
+ margin-bottom: 120px;
+ .tile {
+ padding: 24px 0;
+ border-radius: 8px;
+ .tile-meta {
+ display: flex;
+ .title {
+ flex: none;
+ width: 30%;
+ max-width: 300px;
+ min-width: 200px;
+ font-size: 1.2em;
+ border: 1px solid #c2c2c2;
+ padding: 32px 24px;
+ border-radius: 8px;
+ text-align: center;
+ margin-right: 3em;
+ .text-muted {
+ font-size: 0.8em;
+ }
+ }
+ }
+ }
+ }
+
section.tiles-what-we-do {
padding-bottom: 170px;
@include media-breakpoint-down(xs) {
diff --git a/app/controllers/solutions_controller.rb b/app/controllers/solutions_controller.rb
index 419ed1f..6fd6752 100644
--- a/app/controllers/solutions_controller.rb
+++ b/app/controllers/solutions_controller.rb
@@ -5,4 +5,9 @@ class SolutionsController < ApplicationController
@info = solution_info
end
end
+
+ def soft
+ @slug = Platform::INFO[:slug]
+ @info = Platform::INFO
+ end
end
\ No newline at end of file
diff --git a/app/models/contact.rb b/app/models/contact.rb
index 66d43a5..bb69899 100644
--- a/app/models/contact.rb
+++ b/app/models/contact.rb
@@ -19,6 +19,23 @@ class Contact < ApplicationRecord
before_save :trim_solution_slugs
+ SOLUTION_OPTIONS = Solution::DICTIONARY.map do |solution_slug, solution_info|
+ {
+ title: solution_info[:title],
+ slug: solution_slug
+ }
+ end + [
+ {
+ title: Platform::INFO[:title],
+ slug: Platform::INFO[:slug],
+ }
+ ] + [
+ {
+ title: '기타',
+ slug: 'etc'
+ }
+ ]
+
def self.ransackable_scopes(auth_object = nil)
%i(solution_slugs_array_in)
end
diff --git a/app/models/platform.rb b/app/models/platform.rb
new file mode 100644
index 0000000..8e5e547
--- /dev/null
+++ b/app/models/platform.rb
@@ -0,0 +1,55 @@
+class Platform
+ DICTIONARY = {
+ groups: {
+ image_path: 'soft_solution_1.png',
+ title: '빠띠 그룹스',
+ description: '''
+ 팀과 커뮤니티의 협업을 위한 플랫폼
+
+ 핵심 기능: 주제/이슈별 채널 관리, 공동문서 작성, 찬반 투표와 설문으로 토론하기, 아카이빙
+ ''',
+ url: 'https://parti.xyz'
+ },
+ demosx: {
+ image_path: 'soft_solution_4.png',
+ title: '데모스X',
+ description: '''
+ 시민과 기관이 함께 정책을 논의하고 실행하는 시민참여 플랫폼
+
+ 핵심 기능: 오픈소스 운영 가이드, 플랫폼 소스
+ ''',
+ url: 'http://demosx.org'
+ },
+ townhall: {
+ image_path: 'soft_solution_2.png',
+ title: '빠띠 타운홀',
+ description: '''
+ 참가자 중심의 실시간 토론 플랫폼
+
+ 핵심 기능: 상반되는 의견 중 하나를 선택하는 배틀, 최적의 결론을 도출하는 투표, 참가자와 소통하는 제안, 발표를 극적으로 연출하는 응원
+ ''',
+ url: 'https://townhall.kr'
+ },
+ campaigns: {
+ image_path: 'soft_solution_3.png',
+ title: '빠띠 캠페인즈',
+ description: '''
+ 세상을 바꾸는 시민, 시민단체, 조직, 정당의 캠페인 플랫폼
+
+ 핵심 기능: 지지를 얻기 위한 서명/지도/인증샷/목소리 모으기, 변화를 만들기 위한 촉구/아카이브하기
+ ''',
+ url: 'https://campaigns.kr'
+ }
+ }
+
+ INFO = {
+ slug: :soft,
+ path_text: :solutions_soft_path,
+ title: '민주주의 플랫폼',
+ subtitle: '일상과 세상을 더 민주적으로',
+ image_path: 'solutions/card-soft.png',
+ items_name: '디지털 플랫폼',
+ items: Platform::DICTIONARY.map { |key, item| item.merge(slug: key) },
+ portfolios: []
+ }
+end
diff --git a/app/models/post.rb b/app/models/post.rb
index f168d76..4979f8f 100644
--- a/app/models/post.rb
+++ b/app/models/post.rb
@@ -1,6 +1,6 @@
class Post < ApplicationRecord
CATEGORIES = (
- (Solution::DICTIONARY.map { |solution_slug, solution_info| [solution_slug, solution_info[:title]] }) + [ [:data, '공공·공익 데이터'], [:lab, '민주주의 랩'], [:culture, '조직 문화'] ]
+ (Solution::DICTIONARY.map { |solution_slug, solution_info| [solution_slug, solution_info[:title]] }) + [ [:data, '공공·공익 데이터'], [:lab, '민주주의 랩'], [Platform::INFO[:slug], Platform::INFO[:title]], [:culture, '조직 문화'] ]
).to_h
scope :recent, -> (limit_count = nil){
diff --git a/app/models/solution.rb b/app/models/solution.rb
index 24fb4e1..02a24ea 100644
--- a/app/models/solution.rb
+++ b/app/models/solution.rb
@@ -2,19 +2,20 @@ class Solution
# 데모스
DEMOS_TOOLKITS = [
{
- image_path: 'demos_solution_1.png',
- title: '의제기획 및 선정단',
+ image_path: 'demos_solution_2.jpg',
+ title: '시민참여 공론장',
description: '''
- 시민의 제안이나 기관의 정책 공론화 여부를 검토하고, 숙의를 통해 공적 의제로 만들어냅니다.
+ 사회적으로 관심과 논의가 필요한 의제, 지역 또는 공동체의 일상에서 논의가 필요한 사안에 관심있는 시민 누구나 쉽게 토론에 참여할 수 있습니다.
''',
- url: 'https://toolkit.parti.coop/sphere/agenda.html'
+ url: 'https://toolkit.parti.coop/sphere/debate.html'
},
{
- image_path: 'demos_solution_2.jpg',
- title: '열린 정책 공론장',
+ image_path: 'demos_solution_1.png',
+ title: '의제기획 및 선정',
description: '''
- 시민제안 내 의제를 바탕으로 공론화 진행, 기관 의제에 대한 시민 의견 수렴 공론장을 기획하고 운영하는 온, 오프라인 공론장을 만듭니다.
- '''
+ 시민의 제안이나 기관의 정책 공론화 여부를 검토하고, 숙의를 통해 공적 의제로 만들어냅니다.
+ ''',
+ url: 'https://toolkit.parti.coop/sphere/agenda.html'
},
{
image_path: 'demos_solution_3.jpg',
@@ -24,6 +25,16 @@ class Solution
''',
url: 'https://toolkit.parti.coop/sphere/workshop.html'
},
+ {
+ image_path: 'demos_solution_5.png',
+ title: '시민제안 실험장',
+ description: '''
+ 시민의 제안을 바탕으로 가상의 환경을 만들어 직접 실험해보고 그 결과를 바탕으로 공론화 하는 실험장입니다.
+
+ 이를 통해 제안의 실효성과 정책화의 걸림돌, 해결방안을 검증합니다.
+ ''',
+ url: 'https://toolkit.parti.coop/sphere/citizenlab.html'
+ },
{
image_path: 'demos_solution_4.jpg',
title: '찾아가는 시민제안',
@@ -31,16 +42,16 @@ class Solution
더 많은 시민들에게 시민참여플랫폼을 직접 경험할 수 있도록 다양한 이벤트를 기획합니다.
주요 이슈에 대한 현장 시민의견 수렴, 시민참여플랫폼 브랜드 홍보 등을 진행합니다.
- '''
+ ''',
+ url: 'https://toolkit.parti.coop/sphere/suggestion.html'
},
{
- image_path: 'demos_solution_5.png',
- title: '시민제안 실험장',
+ image_path: 'demos_solution_6.png',
+ title: '시민참여플랫폼 운영가이드 - 데모스X 운영가이드 1.1',
description: '''
- 시민의 제안을 바탕으로 가상의 환경을 만들어 직접 실험해보고 그 결과를 바탕으로 공론화 하는 실험장입니다.
-
- 이를 통해 제안의 실효성과 정책화의 걸림돌, 해결방안을 검증합니다.
- '''
+ 시민제안 내 의제를 바탕으로 공론화 진행, 기관 의제에 대한 시민 의견 수렴 공론장을 기획하고 운영하는 온, 오프라인 공론장을 만듭니다.
+ ''',
+ url: 'https://toolkit.parti.coop/demosx/'
}
]
@@ -49,44 +60,64 @@ class Solution
image_path: 'demos_portfolio_1.png',
title: '민주주의서울 기획 및 운영',
description: '''
- 서울시와 함께 공론장 및 O2O 플랫폼 기획 및 운영
+ 서울시와 함께 공론장 및 O2O 플랫폼 기획 및 운영
시민과 서울시가 함께 정책을 논의하고 실행하는 시민참여플랫폼
''',
- url: 'https://democracy.seoul.go.kr/'
+ url: ' https://parti.coop/posts/93'
},
{
image_path: 'demos_portfolio_2.png',
title: '김해문화재단 김해가야G',
description: '''
- 김해문화재단과 함께 공유공간 커뮤니티 빌딩 사업 기획 및 운영
+ 김해문화재단과 함께 공유공간 커뮤니티 빌딩 사업 기획 및 운영
시민이 직접 공유공간 활용 방안을 제안하고 운영해보는 커뮤니티 실험
''',
- url: 'https://ggg.parti.xyz/'
+ url: 'https://parti.coop/posts/5'
+ },
+ {
+ image_path: '',
+ title: '대전NGO지원센터 워크숍',
+ description: '''
+ 대전 활동가들과 함께한 일상의 공론장 만들기
+ 시민 누구나 일상의 공론장을 열 수 있고, 함께 대화하며 나와 다른이의 목소리를 듣고 자신의 이야기를 구체화해가는 전반의 과정을 경험하는 워크숍
+ ''',
+ url: 'https://parti.coop/posts/151'
+ },
+ {
+ image_path: '',
+ title: 'TBS 오픈테이블',
+ description: '''
+ 시민의 방송은 어떤 이야기를 담아내야 할까?
+ 더 많은 이들의 참여로 시민이 주체가 되는 방송을 만들고자, 시민들에게 방송 기획안을 공모받아 실제 방송으로 만드는 프로젝트
+ ''',
+ url: 'https://parti.coop/posts/146'
}
]
ORG_TOOLKITS = [
{
image_path: 'org_solution_1.jpg',
- title: '커뮤니티 툴킷',
+ title: '소셜이슈 커뮤니티 101',
description: '''
- 누구나 이슈 커뮤니티를 시작할 수 있는 가이드를 오픈소스로 생산합니다.
+ 사회 이슈에 대해 다양한 사람이 모여 안전하고 개방적으로 이야기 나누고 할 수 있는 만큼 협력하는 커뮤니티를 만들 때 활용할 수 있는 가이드입니다.
''',
url: 'https://toolkit.parti.coop/community/community101'
},
{
image_path: 'org_solution_2.jpg',
- title: '이슈 커뮤니티 디자인',
+ title: '항해하는 조직 101',
description: '''
- 시민 스스로 만들고 협력하는 지속가능한 커뮤니티 모델을 만듭니다.
- '''
+ 일상 중 가장 많은 시간을 보내는 조직 안에서 더 민주적으로 의사소통할 수 있는 방법들을 소개합니다.
+ ''',
+ url: 'https://toolkit.parti.coop/community/org101.html'
},
{
image_path: 'org_solution_3.jpg',
- title: '커뮤니티 액션 워크숍',
+ title: 'DIY 정당 101',
description: '''
- 커뮤니티가 이슈와 해결책을 찾고 실행하는 워크숍을 설계하고 운영합니다.
- '''
+ 우리에게 꼭 필요한 문제나 관심사를 다루는 프로젝트 정당을 직접 만듭니다.
+ ''',
+ url: 'https://toolkit.parti.coop/community/diy-party101.html'
}
]
@@ -99,6 +130,14 @@ class Solution
''',
url: 'https://butterknifecrew.kr'
},
+ {
+ image_path: 'org_portfolio_5.jpg',
+ title: '커먼즈필드제주',
+ description: '''
+ 함께 고민하고 함께 상상하는 소통협력 공간
+ ''',
+ url: 'https://cmzfld.net'
+ },
{
image_path: 'org_portfolio_2.jpg',
title: '나는알아야겠당',
@@ -115,14 +154,6 @@ class Solution
''',
url: 'https://zero-waste.parti.xyz'
},
- {
- image_path: 'org_portfolio_4.jpg',
- title: '일인당',
- description: '''
- \'1인 가구 공동공간 만든당\'의 줄임말로 관악구에서 1인 가구의 권리와 삶의 질을 위해 활동하는 커뮤니티
- ''',
- url: 'https://alone.parti.xyz'
- }
]
CAMPAIGN_TOOLKITS = []
@@ -201,8 +232,6 @@ class Solution
},
]
- SOFT_PORTFOLIOS = []
-
DICTIONARY = {
demos: {
path_text: :solutions_demos_path,
@@ -211,16 +240,18 @@ class Solution
image_path: 'solutions/card-demos.png',
items_name: '툴킷',
items: Solution::DEMOS_TOOLKITS,
- portfolios: Solution::DEMOS_PORTFOLIOS
+ portfolios: Solution::DEMOS_PORTFOLIOS,
+ using_platform_slugs: %i(demosx townhall)
},
org: {
path_text: :solutions_org_path,
title: '협력적 커뮤니티',
- subtitle: '함께 일하고 함께 노는',
+ subtitle: '더불어 일하고 더불어 해결하는',
image_path: 'solutions/card-org.png',
items_name: '툴킷',
items: Solution::ORG_TOOLKITS,
- portfolios: Solution::ORG_PORTFOLIOS
+ portfolios: Solution::ORG_PORTFOLIOS,
+ using_platform_slugs: %i(groups demosx)
},
campaign: {
path_text: :solutions_campaign_path,
@@ -230,27 +261,6 @@ class Solution
items_name: '툴킷',
items: Solution::CAMPAIGN_TOOLKITS,
portfolios: Solution::CAMPAIGN_PORTFOLIOS
- },
- soft: {
- path_text: :solutions_soft_path,
- title: '플랫폼',
- subtitle: '일상과 세상을 더 민주적으로',
- image_path: 'solutions/card-soft.png',
- items_name: '디지털 플랫폼',
- items: Solution::SOFT_PLATFORMS,
- portfolios: Solution::SOFT_PORTFOLIOS
}
}
-
- CONTACT_OPTIONS = Solution::DICTIONARY.map do |solution_slug, solution_info|
- {
- title: solution_info[:title],
- slug: solution_slug
- }
- end + [
- {
- title: '기타',
- slug: 'etc'
- }
- ]
end
diff --git a/app/views/application/_footer.html.haml b/app/views/application/_footer.html.haml
index 7a22d3e..77ce418 100644
--- a/app/views/application/_footer.html.haml
+++ b/app/views/application/_footer.html.haml
@@ -20,6 +20,19 @@
.contact-envelope
= image_tag 'contact-envelope.png'
+%section.activists
+ .container.container-sm
+ .base-section-title
+ 활동가 커뮤니티 참여하기
+ .base-section-desc.text-keep-all
+ %span.text-nowrap 빠띠 민주주의 활동가들이
+ %br
+ 함께 교류하는
+ %span.text-nowrap 커뮤니티입니다.
+ .activists-button-container
+ = link_to "https://democracy-activists.parti.xyz/", class: 'btn btn-default btn-contact' do
+ 참여하기
+
%footer.app-footer
.container-fluid
.logo
diff --git a/app/views/application/_header.html.haml b/app/views/application/_header.html.haml
index 2163c96..f13bd55 100644
--- a/app/views/application/_header.html.haml
+++ b/app/views/application/_header.html.haml
@@ -9,11 +9,11 @@
%a.nav-link.dropdown-toggle{ href: '#', id: 'header-navbar-dropdown', role: 'button', 'data-toggle': 'dropdown', 'aria-haspopup': 'true', 'aria-expanded': 'false' }
민주주의 솔루션
.dropdown-menu{ 'aria-labelledby': 'header-navbar-dropdown' }
- - Solution::DICTIONARY.reject{ |key, _| key == :soft }.each do |_, solution_info|
+ - Solution::DICTIONARY.each do |_, solution_info|
%a.dropdown-item{ href: send(solution_info[:path_text]) }
!= solution_info[:title]
%li.nav-item
- %a.nav-link{ href: send(Solution::DICTIONARY[:soft][:path_text]) }
+ %a.nav-link{ href: send(Platform::INFO[:path_text]) }
민주주의 플랫폼
%li.nav-item
%a.nav-link{ href: what_we_do_path } 소식
diff --git a/app/views/contacts/new.html.haml b/app/views/contacts/new.html.haml
index 45d42f1..51f518f 100644
--- a/app/views/contacts/new.html.haml
+++ b/app/views/contacts/new.html.haml
@@ -31,7 +31,7 @@
= f.text_area :project_why, class: 'form-control', placeholder: '빠띠를 어떻게 알게 되셨나요? 왜 빠띠인지 조금만 더 설명해주시면 효과적으로 접수를 진행할 수 있어요.', data: { 'rule-required': true }
.form-group
= f.label :solution_slugs
- - Solution::CONTACT_OPTIONS.each do |solution_option|
+ - Contact::SOLUTION_OPTIONS.each do |solution_option|
.form-check
= f.check_box :solution_slugs, { class: 'form-check-input form-control', multiple: true }, solution_option[:slug], nil
%label.form-check-label{ for: :solution_slugs }<>
diff --git a/app/views/pages/home.html.haml b/app/views/pages/home.html.haml
index fa926b1..24e655d 100644
--- a/app/views/pages/home.html.haml
+++ b/app/views/pages/home.html.haml
@@ -52,3 +52,11 @@
!= solution_info[:subtitle]
.title
!= solution_info[:title]
+ = link_to send(Platform::INFO[:path_text]) do
+ .tile-container{ 'data-aos': 'fade-up' }
+ .tile{ style: "background-image: linear-gradient(to bottom, #11111100, #11111133), url(#{asset_url(Platform::INFO[:image_path])})" }
+ .tile-meta
+ .subtitle
+ != Platform::INFO[:subtitle]
+ .title
+ != Platform::INFO[:title]
diff --git a/app/views/solutions/_show.html.haml b/app/views/solutions/_show.html.haml
index 6425a9a..a44fd6a 100644
--- a/app/views/solutions/_show.html.haml
+++ b/app/views/solutions/_show.html.haml
@@ -9,6 +9,28 @@
= content
+- if info[:portfolios].any?
+ %section.tiles.tiles-portfolio
+ .tiles-title-line
+ .container
+ .tiles-title
+ 포트폴리오
+ - if slug == :org
+ .lead.text-dark 우리는 더 많은 사람들이 관심과 이슈로 만나 협력할 때 더 민주적인 세상이 된다고 믿습니다.
+ .container
+ .tiles-container<>
+ - info[:portfolios].each do |portfolio|
+ .tile-container<>
+ = link_to (portfolio[:url].presence || new_contact_path) , target: '_blank' do
+ .tile
+ .tile-cover-container
+ .tile-cover{ style: (portfolio[:image_path].present? ? "background-image: url(#{asset_url("solutions/#{slug}/#{portfolio[:image_path]}")})" : "background-image: url(#{asset_url("#{slug}-key-visual.png")})") }
+ .tile-meta
+ .title
+ != portfolio[:title]
+ .body
+ != portfolio[:description]
+
- if info[:items].any?
%section.tiles.tiles-portfolio
.tiles-title-line
@@ -30,31 +52,31 @@
.body.text-keep-all
!= item[:description]
-- if info[:portfolios].any?
+- if info[:using_platform_slugs]&.any?
%section.tiles.tiles-portfolio
.tiles-title-line
.container
.tiles-title
- 포트폴리오
+ 플랫폼
.container
- .tiles-container<>
- - info[:portfolios].each do |portfolio|
+ .tiles-container.tiles-container-soft<>
+ - info[:using_platform_slugs].each do |using_platform_slug|
+ - using_platform = Platform::DICTIONARY[using_platform_slug]
.tile-container<>
- = link_to (portfolio[:url].presence || new_contact_path) , target: '_blank' do
+ = link_to (using_platform[:url].presence || new_contact_path) , target: '_blank' do
.tile
.tile-cover-container
- .tile-cover{ style: (portfolio[:image_path].present? ? "background-image: url(#{asset_url("solutions/#{slug}/#{portfolio[:image_path]}")})" : "background-image: url(#{asset_url('samples/home/whatwedo/card1.png')})") }
+ .tile-cover{ style: (using_platform[:image_path].present? ? "background-image: url(#{asset_url("solutions/soft/#{using_platform[:image_path]}")})" : "background-image: url(#{asset_url('samples/home/whatwedo/card1.png')})") }
.tile-meta
.title
- != portfolio[:title]
- .body
- != portfolio[:description]
-
+ != using_platform[:title]
+ .body.text-keep-all
+ != using_platform[:description]
%section.tiles.tiles-what-we-do
.tiles-title-line
.container
.tiles-title.text-keep-all
- #{ slug == :soft ? '플랫폼 소식' : '이 솔루션 으로 하는 일' }
+ 소식
.container.container-full
.tiles-container
- Post.published.recent.by_category_slug(slug).limit(3).each do |post|
diff --git a/app/views/solutions/demos.html.haml b/app/views/solutions/demos.html.haml
index e2b9867..e152621 100644
--- a/app/views/solutions/demos.html.haml
+++ b/app/views/solutions/demos.html.haml
@@ -2,20 +2,48 @@
%section.descriptions
.container
%p.lead.text-keep-all
- 정부, 기관, 단체의
- %span.text-nowrap 기관 주도 공론장
- 등
+ 이해관계자들이
+ %span.text-nowrap 더 많이 소통하고
%br
- 시민·이해관계자
- %span.text-nowrap 참여 플랫폼을
- O2O 방식으로
- %br
- 기획, 운영하여
- %span.text-nowrap 더 나은 민주주의를
- 실현합니다.
- %p.remark.text-keep-all
- * O2O란?
- %br
- Online to Offline, Offline to Online의 약자로 온오프라인의 경계를 넘나드는 빠띠의 활동 영역을 나타냅니다.
+ 협력하는 공론장을 만듭니다.
+ %section.tiles.tiles-with
+ .tiles-title-line
+ .container
+ .tiles-title
+ 함께 하는 일
+ .container
+ .tiles-container<>
+ .tile
+ .tile-meta
+ .title
+ 공론장·시민참여 플랫폼
+ .body.text-keep-all
+ 다양한 이해관계자가 참여하는 협력적 공론장을 만듭니다.
+ %br
+ 기관과 조직의 시민참여플랫폼을 기획하고 운영합니다.
+ %br
+ 온라인과 오프라인을 연계한, 크고 작은 공론장을 만듭니다.
+ .tile
+ .tile-meta
+ .title
+ 교육 및 워크숍
+ .body.text-keep-all
+ 공론장 툴킷과 플랫폼을 바탕으로 다양한 워크숍과 교육을 기획하고 운영합니다.
+ .tile
+ .tile-meta
+ .title
+ 컨설팅·자문
+ .body.text-keep-all
+ 공론장이나 시민참여플랫폼을 운영하는 기관과 조직을 대상으로 컨설팅 및 자문을 제공합니다.
+ .tile
+ .tile-meta
+ .title
+ 네트워크
+ .body.text-keep-all
+ 더 나은 세상을 만드는 다양한 커뮤니티 활동가들을 연결합니다.
+ %br
+ %a(href= "https://democracy-activists.parti.xyz/p/public-sphere" target="_blank" class="text-primary")
+ 공론장 활동가 네트워크 참여하기
+ %i.fa.fa-arrow-right
= render 'solutions/show', slug: @slug, info: @info, content: content
\ No newline at end of file
diff --git a/app/views/solutions/org.html.haml b/app/views/solutions/org.html.haml
index 93053ef..d26f272 100644
--- a/app/views/solutions/org.html.haml
+++ b/app/views/solutions/org.html.haml
@@ -2,8 +2,41 @@
%section.descriptions
.container
%p.lead.text-keep-all
- 이슈를 중심으로 다양한 해결책을
+ 시민, 조직과 함께
%br
- 공동 생산하는 열린 커뮤니티를 만듭니다.
+ 더 민주적이고 협력적인 커뮤니티를 만듭니다.
+
+ %section.tiles.tiles-with
+ .tiles-title-line
+ .container
+ .tiles-title
+ 함께 하는 일
+ .container
+ .tiles-container<>
+ .tile
+ .tile-meta
+ .title
+ 협력 프로젝트
+ .text-muted Collaborate
+ .body.text-keep-all
+ 참여자 중심의 커뮤니티 프로젝트를 파트너와 함께 만듭니다.
+ .tile
+ .tile-meta
+ .title
+ 교육 및 워크숍
+ .text-muted Inspire
+ .body.text-keep-all
+ 툴킷과 플랫폼에 기반한 다양한 커뮤니티 워크숍을 진행합니다.
+ .tile
+ .tile-meta
+ .title
+ 네트워크
+ .text-muted Connect
+ .body.text-keep-all
+ 더 나은 세상을 만드는 다양한 커뮤니티 활동가들을 연결합니다.
+ %br
+ %a(href= "https://democracy-activists.parti.xyz/p/community" target="_blank" class="text-primary")
+ 커뮤니티 활동가 네트워크 참여하기
+ %i.fa.fa-arrow-right
= render 'solutions/show', slug: @slug, info: @info, content: content
\ No newline at end of file