From 8a0eb8730f53f9634950e7a18bb9ba49264493a2 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 22 May 2024 18:23:42 +0900 Subject: [PATCH 01/36] =?UTF-8?q?=E3=82=B5=E3=82=A4=E3=83=B3=E3=82=A2?= =?UTF-8?q?=E3=83=83=E3=83=97=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=82=B9=E3=82=92=E9=81=B8=E6=8A=9E=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit サインアップページにコース選択を配置した 別ページでコース一覧ページを作成した --- app/controllers/courses_controller.rb | 7 +++- app/controllers/users_controller.rb | 1 + app/views/courses/list.html.slim | 20 +++++++++++ app/views/users/_form.html.slim | 2 ++ app/views/users/form/_course_select.html.slim | 35 +++++++++++++++++++ config/routes.rb | 5 ++- 6 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 app/views/courses/list.html.slim create mode 100644 app/views/users/form/_course_select.html.slim diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 913102449fc..2d1dfc59802 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1,12 +1,17 @@ # frozen_string_literal: true class CoursesController < ApplicationController - before_action :require_mentor_login, except: %i[index] + before_action :require_mentor_login, except: %i[index list] + skip_before_action :require_active_user_login, only: %i[list] def index @courses = Course.order(created_at: :desc) end + def list + @courses = Course.all + end + private def course_params diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 84444df0a6f..87c5bf26e15 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -61,6 +61,7 @@ def create logger.info "[Signup] 1. start create. #{user_params[:email]}" @user = User.new(user_params) + @user.course_id = params[:user][:course_id] if params[:user][:course_id].present? @user.course_id ||= Course.first.id @user.free = true if @user.trainee? @user.build_discord_profile diff --git a/app/views/courses/list.html.slim b/app/views/courses/list.html.slim new file mode 100644 index 00000000000..e8d4d968dbc --- /dev/null +++ b/app/views/courses/list.html.slim @@ -0,0 +1,20 @@ += form_with url: new_user_path, method: :get, local: true do |f| + .form-item + = f.label :course_id, 'コースを選択してください', class: 'a-form-label is-required' + .form-item__groups + .form-item-group + .form-item-group__header + .form-item-group__title + | コース名 + .form-item-group__body + - @courses.each do |course| + ul.block-checks.is-2-items + li.block-checks__item + .a-block-check.is-radio + = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' + label.a-block-check__label.is-ta-left(for="course_#{course.id}") + span.a-block-check__name + = course.title + + .form-actions + = f.submit '選択して戻る', class: 'a-button is-primary', onclick: "this.removeAttribute('name')" diff --git a/app/views/users/_form.html.slim b/app/views/users/_form.html.slim index 142f4b6d4f4..c5c5be71e55 100644 --- a/app/views/users/_form.html.slim +++ b/app/views/users/_form.html.slim @@ -8,6 +8,8 @@ = hidden_field_tag :idempotency_token, SecureRandom.uuid = render 'errors', object: user .form__items + - if !@user.adviser? + = render 'users/form/course_select', f: f = render 'users/form/login_name', f: f = render 'users/form/email', f: f, user: user - if from == :edit diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim new file mode 100644 index 00000000000..4071c5b36ba --- /dev/null +++ b/app/views/users/form/_course_select.html.slim @@ -0,0 +1,35 @@ +.form-item + = f.label :course_id, 'コースを選択してください', class: 'a-form-label is-required' + .form-item__groups + .form-item-group + .form-item-group__header + .form-item-group__title + | コース名 + .form-item-group__body + - Course.all.each do |course| + ul.block-checks.is-2-items + li.block-checks__item + .a-block-check.is-radio + = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' + label.a-block-check__label.is-ta-left(for="course_#{course.id}") + span.a-block-check__name + = course.title + .a-form-help + - if course.title == 'Railsプログラマー' + label.a-form-help-link.is-danger(for='modal-rails') + span.a-form-help-link__label + | Railsプログラマーコースとは + span.a-help + i.fa-solid.fa-question + + .form-item-group__link + = link_to 'コース一覧を表示する', list_courses_path + + += render '/shared/modal', + id: 'modal-rails', + modal_title: 'Railsプログラマーとは' + .modal__description.is-md + .a-long-text + p + | Linux, Web, Ruby, Railsなどを学んでWebエンジニアになろう。 diff --git a/config/routes.rb b/config/routes.rb index 52d34f1a5fe..35bb0a66459 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -37,9 +37,12 @@ resources :searchables, only: %i(index) resources :user_sessions, only: %i(new create destroy) resources :password_resets, only: %i(create edit update) - resources :courses, only: %i(index) do + resources :courses, only: %i(index list) do resources :practices, only: %i(index), controller: "courses/practices" resources :books, only: %i(index), controller: "courses/books" + collection do + get 'list', to: 'courses#list' + end end resources :practices, only: %i(show) do resources :reports, only: %i(index), controller: "practices/reports" From 86e6c849f3ce34f8db834a64ba763af8f57c5b35 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 12:58:12 +0900 Subject: [PATCH 02/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E4=B8=80?= =?UTF-8?q?=E8=A6=A7=E3=83=9A=E3=83=BC=E3=82=B8=E3=82=92/welcome=E3=81=AE?= =?UTF-8?q?=E9=85=8D=E4=B8=8B=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 7 +------ app/controllers/welcome_controller.rb | 4 ++++ app/views/users/form/_course_select.html.slim | 2 +- .../{courses/list.html.slim => welcome/courses.html.slim} | 0 config/routes.rb | 4 +--- 5 files changed, 7 insertions(+), 10 deletions(-) rename app/views/{courses/list.html.slim => welcome/courses.html.slim} (100%) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 2d1dfc59802..913102449fc 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -1,17 +1,12 @@ # frozen_string_literal: true class CoursesController < ApplicationController - before_action :require_mentor_login, except: %i[index list] - skip_before_action :require_active_user_login, only: %i[list] + before_action :require_mentor_login, except: %i[index] def index @courses = Course.order(created_at: :desc) end - def list - @courses = Course.all - end - private def course_params diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index b3acb69aec5..5f45d14181f 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -26,4 +26,8 @@ def pp; end def law; end def coc; end + + def courses + @courses = Course.all + end end diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim index 4071c5b36ba..4fd4b2b5c78 100644 --- a/app/views/users/form/_course_select.html.slim +++ b/app/views/users/form/_course_select.html.slim @@ -23,7 +23,7 @@ i.fa-solid.fa-question .form-item-group__link - = link_to 'コース一覧を表示する', list_courses_path + = link_to 'コース一覧を表示する', courses_path = render '/shared/modal', diff --git a/app/views/courses/list.html.slim b/app/views/welcome/courses.html.slim similarity index 100% rename from app/views/courses/list.html.slim rename to app/views/welcome/courses.html.slim diff --git a/config/routes.rb b/config/routes.rb index 35bb0a66459..f1b1b787b44 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -15,6 +15,7 @@ get "pp", to: "welcome#pp", as: "pp" get "law", to: "welcome#law", as: "law" get "coc", to: "welcome#coc", as: "coc" + get "courses", to: "welcome#courses", as: "courses" draw :scheduler draw :api draw :paper @@ -40,9 +41,6 @@ resources :courses, only: %i(index list) do resources :practices, only: %i(index), controller: "courses/practices" resources :books, only: %i(index), controller: "courses/books" - collection do - get 'list', to: 'courses#list' - end end resources :practices, only: %i(show) do resources :reports, only: %i(index), controller: "practices/reports" From 5a7bac8f5490508d2fff8aea0236dd7ff660d0db Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 13:00:42 +0900 Subject: [PATCH 03/36] =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=83=86=E3=82=A3?= =?UTF-8?q?=E3=83=B3=E3=82=B0=E3=82=92=E8=AA=BF=E6=95=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/routes.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/routes.rb b/config/routes.rb index f1b1b787b44..82a9063f6df 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -38,7 +38,7 @@ resources :searchables, only: %i(index) resources :user_sessions, only: %i(new create destroy) resources :password_resets, only: %i(create edit update) - resources :courses, only: %i(index list) do + resources :courses, only: %i(index) do resources :practices, only: %i(index), controller: "courses/practices" resources :books, only: %i(index), controller: "courses/books" end From c51fc6b8a25f8224d987933d3289af1e4393dafc Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 18:41:03 +0900 Subject: [PATCH 04/36] =?UTF-8?q?=E3=83=87=E3=82=B6=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit コース選択のhelpを追加した コース一覧のデザインを調整した --- app/views/users/form/_course_select.html.slim | 47 ++++++++++++----- app/views/welcome/courses.html.slim | 51 ++++++++++++------- 2 files changed, 66 insertions(+), 32 deletions(-) diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim index 4fd4b2b5c78..275175d60ea 100644 --- a/app/views/users/form/_course_select.html.slim +++ b/app/views/users/form/_course_select.html.slim @@ -2,9 +2,6 @@ = f.label :course_id, 'コースを選択してください', class: 'a-form-label is-required' .form-item__groups .form-item-group - .form-item-group__header - .form-item-group__title - | コース名 .form-item-group__body - Course.all.each do |course| ul.block-checks.is-2-items @@ -21,15 +18,39 @@ | Railsプログラマーコースとは span.a-help i.fa-solid.fa-question + = render '/shared/modal', + id: 'modal-rails', + modal_title: 'Railsプログラマーとは' + .modal__description.is-md + .a-long-text + p + = course.description + - elsif course.title == 'Unityゲームプログラマー' + label.a-form-help-link.is-danger(for='modal-unity') + span.a-form-help-link__label + | Unityゲームプログラマーコースとは + span.a-help + i.fa-solid.fa-question + = render '/shared/modal', + id: 'modal-unity', + modal_title: 'Unityゲームプログラマーとは' + .modal__description.is-md + .a-long-text + p + = course.description + - elsif course.title == 'iOSプログラマー' + label.a-form-help-link.is-danger(for='modal-ios') + span.a-form-help-link__label + | iOSプログラマーコースとは + span.a-help + i.fa-solid.fa-question + = render '/shared/modal', + id: 'modal-ios', + modal_title: 'iOSプログラマーとは' + .modal__description.is-md + .a-long-text + p + = course.description - .form-item-group__link + .form-item-group__link.text-right = link_to 'コース一覧を表示する', courses_path - - -= render '/shared/modal', - id: 'modal-rails', - modal_title: 'Railsプログラマーとは' - .modal__description.is-md - .a-long-text - p - | Linux, Web, Ruby, Railsなどを学んでWebエンジニアになろう。 diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index e8d4d968dbc..987a46a3a42 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -1,20 +1,33 @@ -= form_with url: new_user_path, method: :get, local: true do |f| - .form-item - = f.label :course_id, 'コースを選択してください', class: 'a-form-label is-required' - .form-item__groups - .form-item-group - .form-item-group__header - .form-item-group__title - | コース名 - .form-item-group__body - - @courses.each do |course| - ul.block-checks.is-2-items - li.block-checks__item - .a-block-check.is-radio - = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' - label.a-block-check__label.is-ta-left(for="course_#{course.id}") - span.a-block-check__name - = course.title +- title 'コース一覧' +- set_meta_tags(site: 'FJORD BOOT CAMP(フィヨルドブートキャンプ)', + description: 'フィヨルドブートキャンプの学習内容一覧を表示しています。フィヨルドブートキャンプは現場の即戦力になるためのスキルとプログラミングの楽しさを伝える、現役エンジニアが考える理想のプログラミングスクールの実現に励んでいます。') - .form-actions - = f.submit '選択して戻る', class: 'a-button is-primary', onclick: "this.removeAttribute('name')" +.welcome-page-header + .container.is-xl + .welcome-page-header__inner + h1.welcome-page-header__title + = title + +section.welcome-section + .container.is-xl + .welcome-small-sections + = form_with url: new_user_path, method: :get, local: true do |f| + .form-item + .form-item__groups + .form-item-group + .form-item-group__body + - @courses.each do |course| + .row + .col-md-2 + | #{course.title} + .col-md-4 + | #{course.description} + .col-md-2 + .a-block-check.is-radio + = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' + label.a-block-check__label.is-ta-left(for="course_#{course.id}") + span.a-block-check__name + | 登録 + + .form-actions + = f.submit 'サインアップページに戻る', class: 'a-button is-primary', onclick: "this.removeAttribute('name')" From 56246cb3f4a1eadc70c0be57b2f025a41cc72c57 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 19:44:37 +0900 Subject: [PATCH 05/36] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /coursesを追加したので削除した --- test/system/require_login_test.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/test/system/require_login_test.rb b/test/system/require_login_test.rb index 4c8e598ff49..dd13bd2bc0a 100644 --- a/test/system/require_login_test.rb +++ b/test/system/require_login_test.rb @@ -13,7 +13,6 @@ class RequireLoginTest < ApplicationSystemTestCase assert_login_required "/companies/#{companies(:company1).id}/users" assert_login_required '/companies' assert_login_required "/courses/#{courses(:course1).id}/practices" - assert_login_required '/courses' assert_login_required '/current_user/bookmarks' assert_login_required '/current_user/password/edit' assert_login_required '/current_user/products' From 91e9578da4bf094f48e7a7c2d85006bbfdc336a5 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 20:14:15 +0900 Subject: [PATCH 06/36] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /coursesを追加したので表示されるようになった --- test/system/courses_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/system/courses_test.rb b/test/system/courses_test.rb index 092ee703304..f58b921a2dd 100644 --- a/test/system/courses_test.rb +++ b/test/system/courses_test.rb @@ -5,7 +5,7 @@ class CoursesTest < ApplicationSystemTestCase test 'show listing courses' do visit_with_auth '/courses', 'mentormentaro' - assert_equal 'コース一覧 | FBC', title + assert_equal 'コース一覧 | FJORD BOOT CAMP(フィヨルドブートキャンプ)', title end test 'create course' do @@ -31,7 +31,7 @@ class CoursesTest < ApplicationSystemTestCase test 'show published courses' do visit_with_auth '/courses', 'hajime' - assert_no_text courses(:course1).title + assert_text courses(:course1).title visit_with_auth "/mentor/courses/#{courses(:course1).id}/edit", 'komagata' within 'form[name=course]' do find(:css, '#checkbox-published-course').set(true) From cf97cdb619a86e17708723c94c471682e1ac3199 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Mon, 27 May 2024 20:28:30 +0900 Subject: [PATCH 07/36] =?UTF-8?q?Rubocop=E3=81=A7=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/form/_course_select.html.slim | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim index 275175d60ea..485a5f37f4d 100644 --- a/app/views/users/form/_course_select.html.slim +++ b/app/views/users/form/_course_select.html.slim @@ -3,7 +3,7 @@ .form-item__groups .form-item-group .form-item-group__body - - Course.all.each do |course| + - Course.all.find_each do |course| ul.block-checks.is-2-items li.block-checks__item .a-block-check.is-radio @@ -12,7 +12,8 @@ span.a-block-check__name = course.title .a-form-help - - if course.title == 'Railsプログラマー' + - case course.title + - when 'Railsプログラマー' label.a-form-help-link.is-danger(for='modal-rails') span.a-form-help-link__label | Railsプログラマーコースとは @@ -25,7 +26,7 @@ .a-long-text p = course.description - - elsif course.title == 'Unityゲームプログラマー' + - when 'Unityゲームプログラマー' label.a-form-help-link.is-danger(for='modal-unity') span.a-form-help-link__label | Unityゲームプログラマーコースとは @@ -38,7 +39,7 @@ .a-long-text p = course.description - - elsif course.title == 'iOSプログラマー' + - when 'iOSプログラマー' label.a-form-help-link.is-danger(for='modal-ios') span.a-form-help-link__label | iOSプログラマーコースとは From 80b7cbaf63684cc3d010b2bef1cbe92350318428 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 6 Jun 2024 17:02:21 +0900 Subject: [PATCH 08/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E9=81=B8?= =?UTF-8?q?=E6=8A=9E=E3=82=92=E7=94=B3=E3=81=97=E8=BE=BC=E3=81=BF=E3=81=AE?= =?UTF-8?q?=E6=9C=80=E5=88=9D=E3=81=AE=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB?= =?UTF-8?q?=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/_form.slim | 3 ++- app/views/welcome/_welcome_header.html.slim | 4 +++- app/views/welcome/courses.html.slim | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/views/welcome/_form.slim b/app/views/welcome/_form.slim index 9934d13953d..8a0c742127f 100644 --- a/app/views/welcome/_form.slim +++ b/app/views/welcome/_form.slim @@ -4,4 +4,5 @@ section.welcome-actions .welcome-actions__item = link_to 'お問い合わせ・質問', new_inquiry_path, class: 'a-welcome-button' .welcome-actions__item - = link_to '参加登録', new_user_path, class: 'a-welcome-button is-signup' + // = link_to '参加登録', new_user_path, class: 'a-welcome-button is-signup' + = link_to '参加登録', courses_path, class: 'a-welcome-button is-signup' diff --git a/app/views/welcome/_welcome_header.html.slim b/app/views/welcome/_welcome_header.html.slim index fec41d88590..c5f581e545e 100644 --- a/app/views/welcome/_welcome_header.html.slim +++ b/app/views/welcome/_welcome_header.html.slim @@ -36,7 +36,9 @@ header.welcome-header | 紹介・言及記事 - unless current_user li.welcome-header-nav__item - = link_to new_user_path, class: 'welcome-header-nav__item-link' do + // = link_to new_user_path, class: 'welcome-header-nav__item-link' do + // | 参加登録 + = link_to courses_path, class: 'welcome-header-nav__item-link' do | 参加登録 li.welcome-header-nav__item.is-hidden-md-up - if current_user diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 987a46a3a42..654b6519be9 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -1,4 +1,5 @@ -- title 'コース一覧' +- content_for :extra_body_classes, 'no-forms' +- title '参加登録' - set_meta_tags(site: 'FJORD BOOT CAMP(フィヨルドブートキャンプ)', description: 'フィヨルドブートキャンプの学習内容一覧を表示しています。フィヨルドブートキャンプは現場の即戦力になるためのスキルとプログラミングの楽しさを伝える、現役エンジニアが考える理想のプログラミングスクールの実現に励んでいます。') From 9816431d0f68817def55c64460a415446ad1221f Mon Sep 17 00:00:00 2001 From: machida Date: Wed, 12 Jun 2024 10:39:53 +0900 Subject: [PATCH 09/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E9=81=B8?= =?UTF-8?q?=E6=8A=9E=E3=81=AE=E8=AA=AC=E6=98=8E=E3=83=96=E3=83=AD=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/courses.html.slim | 63 ++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 654b6519be9..1fffe7c1906 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -9,8 +9,67 @@ h1.welcome-page-header__title = title -section.welcome-section - .container.is-xl +.welcome-page-body + section.course-selection + .container.is-md + .course-selection__header + h2.welcome-section__title.has-border + | コースを選択してください。 + .course-selection__descritpion + .a-short-text + p + | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + + .course-selection__items.mt-8 + .container.is-xl + .row + .col-md-6.col-xs-12 + article.course-selection-item + .a-card + header.course-selection-item__header + h2.course-selection-item__title + | バックエンドコース + .course-selection-item__body + .a-long-text + p バックエンドコースでは、ウェブサイトやアプリの「裏側」を作る技術を学びます。例えば、ユーザーが入力した情報を保存したり、検索機能を実装したりする部分です。もし、データの処理やシステムの仕組みを作りたいと思っているなら、このコースがピッタリです! + + h3 学ぶ内容 + ul + li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 + li 基礎知識: HTMLとCSSの基本を学び、簡単なウェブページを作成します。これらはウェブページの骨組みと見た目を作るための技術です。 + li 開発環境の設定: プログラムを書くための環境を整えます。例えば、Linuxというシステムの基本操作を学び、コマンドラインというツールの使い方を学びます。 + li プログラミング入門: Rubyというプログラミング言語を学び、基本的なプログラムの書き方を練習します。具体的には、簡単な計算やデータの操作をするプログラムを作ります。 + li データベースの学習: データベースの使い方を学びます。例えば、ユーザーの情報を保存したり、検索したりする方法を学びます。 + li ウェブサーバーの学習: ウェブサーバーの設定方法を学びます。これは、ウェブサイトがインターネット上で正しく動くための設定です。 + li Railsフレームワークの学習: Ruby on Railsという強力なフレームワークを使って、ウェブアプリケーションを効率的に開発する方法を学びます。Railsを使うことで、複雑な機能を簡単に実装できます。 + li Webアプリケーションの作成: 学んだ技術を使って、実際に動くウェブアプリケーションを作成します。例えば、ブログや簡単なSNSを作ります。 + li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 + li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 + + p このコースを修了すると、ウェブサイトやアプリの裏側の仕組みを理解し、自分でデータベースを扱ったり、ウェブサーバーを設定したり、Railsを使って効率的にウェブアプリケーションを作成することができるようになります。 + .col-md-6.col-xs-12 + article.course-selection-item + .a-card + header.course-selection-item__header + h2.course-selection-item__title + | フロントエンドコース + .course-selection-item__body + .a-long-text + p フロントエンドコースでは、ウェブサイトやアプリの「見える部分」を作る技術を学びます。例えば、ボタンのデザインやクリックしたときの動きなどです。もし、デザインやユーザーインターフェイスの作成に興味があるなら、このコースがオススメです! + + h3 学ぶ内容 + ul + li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 + li 基礎知識: HTMLとCSSの基本を学び、ウェブページの骨組みと見た目を作成します。これらはウェブページのデザインを作るための技術です。 + li JavaScript入門: JavaScriptというプログラミング言語を学び、ウェブページにインタラクティブな機能を追加します。例えば、ボタンをクリックしたときに動きを付ける方法を学びます。 + li フレームワークの学習: Reactというツールを使って、複雑なウェブアプリケーションを簡単に作成する方法を学びます。これにより、効率的に機能豊富なアプリを作れます。 + li デザインの学習: ユーザーが使いやすいデザインの基本を学びます。レスポンシブデザインを学び、どんなデバイスでも見やすいウェブページを作ります。 + li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 + li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 + + p このコースを修了すると、美しいデザインと使いやすいインターフェイスを持つウェブサイトやアプリを作成できるようになります。フロントエンド開発は、ユーザーが直接触れる部分を作るので、デザインやユーザー体験に興味がある人にとって非常に魅力的です。 + + // .welcome-small-sections = form_with url: new_user_path, method: :get, local: true do |f| .form-item From fccd8215ae1dd88358e073ec72ea284ba878edb4 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 13 Jun 2024 17:28:29 +0900 Subject: [PATCH 10/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E3=81=AE?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E3=83=96=E3=83=AD=E3=83=83=E3=82=AF=E3=82=92?= =?UTF-8?q?=E6=95=B4=E3=81=88=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shared/blocks/card/_card-header.sass | 2 + app/javascript/stylesheets/welcome.sass | 3 + .../welcome/_course-selection-item.sass | 18 +++ .../welcome/_course-selection.sass | 0 app/views/welcome/courses.html.slim | 142 +++++++++++------- 5 files changed, 108 insertions(+), 57 deletions(-) create mode 100644 app/javascript/stylesheets/welcome/_course-selection-item.sass create mode 100644 app/javascript/stylesheets/welcome/_course-selection.sass diff --git a/app/javascript/stylesheets/shared/blocks/card/_card-header.sass b/app/javascript/stylesheets/shared/blocks/card/_card-header.sass index cdd21b4ad74..fe4bbfae1a6 100644 --- a/app/javascript/stylesheets/shared/blocks/card/_card-header.sass +++ b/app/javascript/stylesheets/shared/blocks/card/_card-header.sass @@ -23,6 +23,8 @@ font-size: .875rem .card-header.is-sm & font-size: .875rem + .card-header.is-lg & + font-size: 1.5rem .card-header__count font-weight: 400 diff --git a/app/javascript/stylesheets/welcome.sass b/app/javascript/stylesheets/welcome.sass index 6c47d11918e..122074d91db 100644 --- a/app/javascript/stylesheets/welcome.sass +++ b/app/javascript/stylesheets/welcome.sass @@ -8,6 +8,9 @@ @import welcome/articles/bootcamp-ad @import welcome/articles/share-buttons +@import welcome/course-selection +@import welcome/course-selection-item + @import welcome/welcome-member/welcome-member-books @import welcome/welcome-member/welcome-member diff --git a/app/javascript/stylesheets/welcome/_course-selection-item.sass b/app/javascript/stylesheets/welcome/_course-selection-item.sass new file mode 100644 index 00000000000..1ee89767359 --- /dev/null +++ b/app/javascript/stylesheets/welcome/_course-selection-item.sass @@ -0,0 +1,18 @@ +.course-selection-item + padding: 1.5rem 2rem + +.course-selection-item__body:not(:first-child) + margin-top: 1.5rem + +.course-selection-item__title + +text-block(1.5rem 1.4, 700) + +.course-selection-item__summary + font-size: 1rem + +.course-selection-item__action + margin-top: 1.5rem + +.course-selection-item__section + margin-top: 1.5rem + font-size: .875rem diff --git a/app/javascript/stylesheets/welcome/_course-selection.sass b/app/javascript/stylesheets/welcome/_course-selection.sass new file mode 100644 index 00000000000..e69de29bb2d diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 1fffe7c1906..805e8cfbcce 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -11,83 +11,111 @@ .welcome-page-body section.course-selection - .container.is-md - .course-selection__header + .container.is-sm + header.course-selection__header h2.welcome-section__title.has-border | コースを選択してください。 - .course-selection__descritpion - .a-short-text - p - | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse + .course-selection__body + .course-selection__descritpion + .a-short-text + p + | バックエンドコースとフロントエンドコースの2つのコースを提供しています。 + | 料金はどちらも同じです。 + p + | どちらのコースも、最初は共通のカリキュラムからスタートし、 + | その後に専門分野に分かれて学んでいきます。最終的には、 + | 自分で考えたWebサービスを作ってリリースすることを目指します。 + |また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 + p + | コース選びに迷ったら、まずはバックエンドコースを選んでみてください。 + | 入会後はメンターに相談ができるので、その時にしっかり考えましょう。 + | 途中でのコースの変更、卒業後に別コースの必要なカリキュラムだけを受講することも可能です。 .course-selection__items.mt-8 .container.is-xl - .row + .row.is-gutter-width-32 .col-md-6.col-xs-12 - article.course-selection-item - .a-card + article.course-selection-item.a-card + .course-selection-item__inner header.course-selection-item__header h2.course-selection-item__title | バックエンドコース .course-selection-item__body - .a-long-text - p バックエンドコースでは、ウェブサイトやアプリの「裏側」を作る技術を学びます。例えば、ユーザーが入力した情報を保存したり、検索機能を実装したりする部分です。もし、データの処理やシステムの仕組みを作りたいと思っているなら、このコースがピッタリです! + .course-selection-item__summary + .a-long-text + p バックエンドコースでは、ウェブサイトやアプリの「裏側」を作る技術を学びます。例えば、ユーザーが入力した情報を保存したり、検索機能を実装したりする部分です。もし、データの処理やシステムの仕組みを作りたいと思っているなら、このコースがピッタリです! + .course-selection-item__action + = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do + | バックエンドコースを選択 + section.course-selection-item__section + .a-long-text + h3 詳しい内容 + ul + li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 + li 基礎知識: HTMLとCSSの基本を学び、簡単なウェブページを作成します。これらはウェブページの骨組みと見た目を作るための技術です。 + li 開発環境の設定: プログラムを書くための環境を整えます。例えば、Linuxというシステムの基本操作を学び、コマンドラインというツールの使い方を学びます。 + li プログラミング入門: Rubyというプログラミング言語を学び、基本的なプログラムの書き方を練習します。具体的には、簡単な計算やデータの操作をするプログラムを作ります。 + li データベースの学習: データベースの使い方を学びます。例えば、ユーザーの情報を保存したり、検索したりする方法を学びます。 + li ウェブサーバーの学習: ウェブサーバーの設定方法を学びます。これは、ウェブサイトがインターネット上で正しく動くための設定です。 + li Railsフレームワークの学習: Ruby on Railsという強力なフレームワークを使って、ウェブアプリケーションを効率的に開発する方法を学びます。Railsを使うことで、複雑な機能を簡単に実装できます。 + li Webアプリケーションの作成: 学んだ技術を使って、実際に動くウェブアプリケーションを作成します。例えば、ブログや簡単なSNSを作ります。 + li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 + li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 - h3 学ぶ内容 - ul - li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 - li 基礎知識: HTMLとCSSの基本を学び、簡単なウェブページを作成します。これらはウェブページの骨組みと見た目を作るための技術です。 - li 開発環境の設定: プログラムを書くための環境を整えます。例えば、Linuxというシステムの基本操作を学び、コマンドラインというツールの使い方を学びます。 - li プログラミング入門: Rubyというプログラミング言語を学び、基本的なプログラムの書き方を練習します。具体的には、簡単な計算やデータの操作をするプログラムを作ります。 - li データベースの学習: データベースの使い方を学びます。例えば、ユーザーの情報を保存したり、検索したりする方法を学びます。 - li ウェブサーバーの学習: ウェブサーバーの設定方法を学びます。これは、ウェブサイトがインターネット上で正しく動くための設定です。 - li Railsフレームワークの学習: Ruby on Railsという強力なフレームワークを使って、ウェブアプリケーションを効率的に開発する方法を学びます。Railsを使うことで、複雑な機能を簡単に実装できます。 - li Webアプリケーションの作成: 学んだ技術を使って、実際に動くウェブアプリケーションを作成します。例えば、ブログや簡単なSNSを作ります。 - li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 - li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 + p このコースを修了すると、ウェブサイトやアプリの裏側の仕組みを理解し、自分でデータベースを扱ったり、ウェブサーバーを設定したり、Railsを使って効率的にウェブアプリケーションを作成することができるようになります。 + .course-selection-item__action + = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do + | バックエンドコースを選択 - p このコースを修了すると、ウェブサイトやアプリの裏側の仕組みを理解し、自分でデータベースを扱ったり、ウェブサーバーを設定したり、Railsを使って効率的にウェブアプリケーションを作成することができるようになります。 .col-md-6.col-xs-12 - article.course-selection-item - .a-card + article.course-selection-item.a-card + .course-selection-item__inner header.course-selection-item__header h2.course-selection-item__title | フロントエンドコース .course-selection-item__body - .a-long-text - p フロントエンドコースでは、ウェブサイトやアプリの「見える部分」を作る技術を学びます。例えば、ボタンのデザインやクリックしたときの動きなどです。もし、デザインやユーザーインターフェイスの作成に興味があるなら、このコースがオススメです! + .course-selection-item__summary + .a-long-text + p フロントエンドコースでは、ウェブサイトやアプリの「見える部分」を作る技術を学びます。例えば、ボタンのデザインやクリックしたときの動きなどです。もし、デザインやユーザーインターフェイスの作成に興味があるなら、このコースがオススメです! + .course-selection-item__action + = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do + | フロントエンドコースを選択 + section.course-selection-item__section + .a-long-text + h3 詳しい内容 + ul + li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 + li 基礎知識: HTMLとCSSの基本を学び、ウェブページの骨組みと見た目を作成します。これらはウェブページのデザインを作るための技術です。 + li JavaScript入門: JavaScriptというプログラミング言語を学び、ウェブページにインタラクティブな機能を追加します。例えば、ボタンをクリックしたときに動きを付ける方法を学びます。 + li フレームワークの学習: Reactというツールを使って、複雑なウェブアプリケーションを簡単に作成する方法を学びます。これにより、効率的に機能豊富なアプリを作れます。 + li デザインの学習: ユーザーが使いやすいデザインの基本を学びます。レスポンシブデザインを学び、どんなデバイスでも見やすいウェブページを作ります。 + li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 + li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 - h3 学ぶ内容 - ul - li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 - li 基礎知識: HTMLとCSSの基本を学び、ウェブページの骨組みと見た目を作成します。これらはウェブページのデザインを作るための技術です。 - li JavaScript入門: JavaScriptというプログラミング言語を学び、ウェブページにインタラクティブな機能を追加します。例えば、ボタンをクリックしたときに動きを付ける方法を学びます。 - li フレームワークの学習: Reactというツールを使って、複雑なウェブアプリケーションを簡単に作成する方法を学びます。これにより、効率的に機能豊富なアプリを作れます。 - li デザインの学習: ユーザーが使いやすいデザインの基本を学びます。レスポンシブデザインを学び、どんなデバイスでも見やすいウェブページを作ります。 - li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 - li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 - - p このコースを修了すると、美しいデザインと使いやすいインターフェイスを持つウェブサイトやアプリを作成できるようになります。フロントエンド開発は、ユーザーが直接触れる部分を作るので、デザインやユーザー体験に興味がある人にとって非常に魅力的です。 + p このコースを修了すると、美しいデザインと使いやすいインターフェイスを持つウェブサイトやアプリを作成できるようになります。フロントエンド開発は、ユーザーが直接触れる部分を作るので、デザインやユーザー体験に興味がある人にとって非常に魅力的です。 + .course-selection-item__action + = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do + | フロントエンドコースを選択 // - .welcome-small-sections - = form_with url: new_user_path, method: :get, local: true do |f| - .form-item - .form-item__groups - .form-item-group - .form-item-group__body - - @courses.each do |course| - .row - .col-md-2 - | #{course.title} - .col-md-4 - | #{course.description} - .col-md-2 - .a-block-check.is-radio - = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' - label.a-block-check__label.is-ta-left(for="course_#{course.id}") - span.a-block-check__name - | 登録 + .welcome-small-sections + = form_with url: new_user_path, method: :get, local: true do |f| + .form-item + .form-item__groups + .form-item-group + .form-item-group__body + - @courses.each do |course| + .row + .col-md-2 + | #{course.title} + .col-md-4 + | #{course.description} + .col-md-2 + .a-block-check.is-radio + = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' + label.a-block-check__label.is-ta-left(for="course_#{course.id}") + span.a-block-check__name + | 登録 .form-actions = f.submit 'サインアップページに戻る', class: 'a-button is-primary', onclick: "this.removeAttribute('name')" From d5a79681a86916cab58118e5b66d412416c91d81 Mon Sep 17 00:00:00 2001 From: machida Date: Mon, 17 Jun 2024 21:02:54 +0900 Subject: [PATCH 11/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E9=81=B8?= =?UTF-8?q?=E6=8A=9E=E3=81=AE=E3=83=87=E3=82=B6=E3=82=A4=E3=83=B3=E3=80=81?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E9=81=B8=E6=8A=9E=E5=BE=8C=E3=81=AE?= =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=BC=E3=83=A0=E3=81=AE=E3=83=87=E3=82=B6?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=80=81=E3=83=87=E3=82=B6=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E7=A2=BA=E8=AA=8D=E3=81=AE=E3=81=9F=E3=82=81=E3=81=AEseed?= =?UTF-8?q?=E3=83=87=E3=83=BC=E3=82=BF=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/signup_helper.rb | 13 +++ .../blocks/auth-form/_auth-form.sass | 5 +- .../blocks/form/_form-actions.sass | 2 +- .../stylesheets/atoms/_a-short-text.sass | 5 + app/javascript/stylesheets/welcome.sass | 1 + .../welcome/_course-selection-item.sass | 20 +++- .../welcome/_course-selection-nav.sass | 28 +++++ .../welcome/_course-selection.sass | 12 ++ .../stylesheets/welcome/_welcome.sass | 1 + app/views/user_sessions/new.html.slim | 2 +- .../form/_course_practice_list.html.slim | 0 app/views/users/form/_course_select.html.slim | 67 +++-------- .../users/form/_course_selection.html.slim | 13 +++ app/views/welcome/_campaign.html.slim | 2 +- app/views/welcome/_course.html.slim | 32 ++++++ app/views/welcome/_form.slim | 1 - app/views/welcome/_welcome_header.html.slim | 2 - app/views/welcome/courses.html.slim | 107 ++++-------------- app/views/welcome/practices.html.slim | 6 +- db/fixtures/courses.yml | 57 +++++++++- test/fixtures/courses.yml | 4 + 21 files changed, 224 insertions(+), 156 deletions(-) create mode 100644 app/helpers/signup_helper.rb create mode 100644 app/javascript/stylesheets/welcome/_course-selection-nav.sass create mode 100644 app/views/users/form/_course_practice_list.html.slim create mode 100644 app/views/users/form/_course_selection.html.slim create mode 100644 app/views/welcome/_course.html.slim diff --git a/app/helpers/signup_helper.rb b/app/helpers/signup_helper.rb new file mode 100644 index 00000000000..8e9093b269d --- /dev/null +++ b/app/helpers/signup_helper.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module SignupHelper + def find_course(course_id) + Course.find(course_id) + rescue ActiveRecord::RecordNotFound + find_default_course + end + + def find_default_course + Course.find_by(title: 'Railsプログラマー') + end +end diff --git a/app/javascript/stylesheets/application/blocks/auth-form/_auth-form.sass b/app/javascript/stylesheets/application/blocks/auth-form/_auth-form.sass index ac783ccc969..3ab1d591fcf 100644 --- a/app/javascript/stylesheets/application/blocks/auth-form/_auth-form.sass +++ b/app/javascript/stylesheets/application/blocks/auth-form/_auth-form.sass @@ -29,7 +29,10 @@ padding: 1rem 1.75rem .auth-form__body - padding: 1.5rem 1.75rem + +media-breakpoint-up(md) + padding: 1.5rem 1.75rem + +media-breakpoint-down(sm) + padding: 1.25rem 1rem .auth-form__footer padding: 1rem 1.75rem diff --git a/app/javascript/stylesheets/application/blocks/form/_form-actions.sass b/app/javascript/stylesheets/application/blocks/form/_form-actions.sass index 994f0a4db22..12869e3288e 100644 --- a/app/javascript/stylesheets/application/blocks/form/_form-actions.sass +++ b/app/javascript/stylesheets/application/blocks/form/_form-actions.sass @@ -15,6 +15,7 @@ padding-top: 1rem .form-actions__items + gap: .75rem +media-breakpoint-up(md) display: flex align-items: flex-end @@ -29,7 +30,6 @@ flex-direction: column .form-actions__item - padding-inline: .375rem +position(relative) &.is-sub +media-breakpoint-up(md) diff --git a/app/javascript/stylesheets/atoms/_a-short-text.sass b/app/javascript/stylesheets/atoms/_a-short-text.sass index 8b6a748f4cb..145a55ebaaf 100644 --- a/app/javascript/stylesheets/atoms/_a-short-text.sass +++ b/app/javascript/stylesheets/atoms/_a-short-text.sass @@ -35,6 +35,11 @@ border: none border-top: dashed 1px var(--border) margin-block: 1.25em + strong, + b + font-weight: 700 + .is-danger + color: var(--danger) &.is-ta-center, .is-ta-center text-align: center diff --git a/app/javascript/stylesheets/welcome.sass b/app/javascript/stylesheets/welcome.sass index 122074d91db..8cba3770566 100644 --- a/app/javascript/stylesheets/welcome.sass +++ b/app/javascript/stylesheets/welcome.sass @@ -10,6 +10,7 @@ @import welcome/course-selection @import welcome/course-selection-item +@import welcome/course-selection-nav @import welcome/welcome-member/welcome-member-books @import welcome/welcome-member/welcome-member diff --git a/app/javascript/stylesheets/welcome/_course-selection-item.sass b/app/javascript/stylesheets/welcome/_course-selection-item.sass index 1ee89767359..81195126c55 100644 --- a/app/javascript/stylesheets/welcome/_course-selection-item.sass +++ b/app/javascript/stylesheets/welcome/_course-selection-item.sass @@ -1,14 +1,22 @@ +.course-selection-item-anchor + position: relative + top: -3rem + .course-selection-item - padding: 1.5rem 2rem + +media-breakpoint-up(md) + padding: 1.5rem 2rem + +media-breakpoint-down(sm) + padding: 1.25rem 1rem .course-selection-item__body:not(:first-child) margin-top: 1.5rem .course-selection-item__title - +text-block(1.5rem 1.4, 700) - -.course-selection-item__summary - font-size: 1rem + font-weight: 700 + +media-breakpoint-up(md) + +text-block(1.5rem 1.4) + +media-breakpoint-down(sm) + +text-block(1.25rem 1.4) .course-selection-item__action margin-top: 1.5rem @@ -16,3 +24,5 @@ .course-selection-item__section margin-top: 1.5rem font-size: .875rem + +media-breakpoint-up(md) + +media-breakpoint-down(sm) diff --git a/app/javascript/stylesheets/welcome/_course-selection-nav.sass b/app/javascript/stylesheets/welcome/_course-selection-nav.sass new file mode 100644 index 00000000000..ac453b2b288 --- /dev/null +++ b/app/javascript/stylesheets/welcome/_course-selection-nav.sass @@ -0,0 +1,28 @@ +.course-selection-nav + position: sticky + top: 0 + z-index: 2 + +.course-selection-nav__inner + padding-block: .5rem + +.course-selection-nav__items + display: flex + +.course-selection-nav__item + flex: 1 + +.course-selection-nav__item-link + border: solid 1px var(--main) + background-color: var(--base) + +text-block(.75rem 1.4) + display: flex + text-decoration: none + height: 2.75rem + justify-content: center + align-items: center + .course-selection-nav__item:first-child & + border-radius: .25rem 0 0 .25rem + margin-right: -1px + .course-selection-nav__item:last-child & + border-radius: 0 .25rem .25rem 0 diff --git a/app/javascript/stylesheets/welcome/_course-selection.sass b/app/javascript/stylesheets/welcome/_course-selection.sass index e69de29bb2d..fcf31434aca 100644 --- a/app/javascript/stylesheets/welcome/_course-selection.sass +++ b/app/javascript/stylesheets/welcome/_course-selection.sass @@ -0,0 +1,12 @@ +.course-selection__descritpion + +media-breakpoint-up(md) + font-size: 1rem + +media-breakpoint-down(sm) + font-size: .875rem + margin-bottom: .5rem + +.course-selection__items + +media-breakpoint-up(md) + margin-top: 2rem + +media-breakpoint-down(sm) + margin-top: 1rem diff --git a/app/javascript/stylesheets/welcome/_welcome.sass b/app/javascript/stylesheets/welcome/_welcome.sass index bfc4c590412..678c907ceab 100644 --- a/app/javascript/stylesheets/welcome/_welcome.sass +++ b/app/javascript/stylesheets/welcome/_welcome.sass @@ -1,3 +1,4 @@ body.is-welcome color: var(--default-text) font-family: $sans-serif + scroll-behavior: smooth diff --git a/app/views/user_sessions/new.html.slim b/app/views/user_sessions/new.html.slim index a931c49d036..45c70930f70 100644 --- a/app/views/user_sessions/new.html.slim +++ b/app/views/user_sessions/new.html.slim @@ -18,6 +18,6 @@ description: 'オンラインプログラミングスクールのフィヨルド li.auth-form-nav__item = link_to 'トップページ', root_path, class: 'auth-form-nav__item-link' li.auth-form-nav__item - = link_to '参加登録', new_user_path, class: 'auth-form-nav__item-link' + = link_to '参加登録', courses_path, class: 'auth-form-nav__item-link' li.auth-form-nav__item = link_to '休会からの復帰', new_comeback_path, class: 'auth-form-nav__item-link' diff --git a/app/views/users/form/_course_practice_list.html.slim b/app/views/users/form/_course_practice_list.html.slim new file mode 100644 index 00000000000..e69de29bb2d diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim index 485a5f37f4d..c654b6290fd 100644 --- a/app/views/users/form/_course_select.html.slim +++ b/app/views/users/form/_course_select.html.slim @@ -1,57 +1,20 @@ .form-item - = f.label :course_id, 'コースを選択してください', class: 'a-form-label is-required' + = f.label :course_id, '選択中のコース', class: 'a-form-label is-required' .form-item__groups .form-item-group .form-item-group__body - - Course.all.find_each do |course| - ul.block-checks.is-2-items - li.block-checks__item - .a-block-check.is-radio - = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' - label.a-block-check__label.is-ta-left(for="course_#{course.id}") - span.a-block-check__name - = course.title - .a-form-help - - case course.title - - when 'Railsプログラマー' - label.a-form-help-link.is-danger(for='modal-rails') - span.a-form-help-link__label - | Railsプログラマーコースとは - span.a-help - i.fa-solid.fa-question - = render '/shared/modal', - id: 'modal-rails', - modal_title: 'Railsプログラマーとは' - .modal__description.is-md - .a-long-text - p - = course.description - - when 'Unityゲームプログラマー' - label.a-form-help-link.is-danger(for='modal-unity') - span.a-form-help-link__label - | Unityゲームプログラマーコースとは - span.a-help - i.fa-solid.fa-question - = render '/shared/modal', - id: 'modal-unity', - modal_title: 'Unityゲームプログラマーとは' - .modal__description.is-md - .a-long-text - p - = course.description - - when 'iOSプログラマー' - label.a-form-help-link.is-danger(for='modal-ios') - span.a-form-help-link__label - | iOSプログラマーコースとは - span.a-help - i.fa-solid.fa-question - = render '/shared/modal', - id: 'modal-ios', - modal_title: 'iOSプログラマーとは' - .modal__description.is-md - .a-long-text - p - = course.description + .selected-item + - course = find_course(params[:course_id]) + = render 'users/form/course_selection', course: course, f: f + = render '/shared/modal', + id: 'modal-course-description', + modal_title: "#{course.title}コース" + .modal__description.is-md + .a-long-text.is-md.js-markdown-view + = course.description + .a-long-text.is-md + h3 + | カリキュラム一覧 + = render 'users/form/course_practice_list', course: course - .form-item-group__link.text-right - = link_to 'コース一覧を表示する', courses_path +hr.a-border.mb-8 diff --git a/app/views/users/form/_course_selection.html.slim b/app/views/users/form/_course_selection.html.slim new file mode 100644 index 00000000000..e2d3b5f396c --- /dev/null +++ b/app/views/users/form/_course_selection.html.slim @@ -0,0 +1,13 @@ +.a-block-check.is-radio + = f.radio_button :course_id, course.id, checked: true, id: "course_#{course.id}", class: 'a-toggle-checkbox' + label.a-block-check__label.is-ta-left(for="course_#{course.id}") + span.a-block-check__name + | #{course.title}コース +.form-actions + ul.form-actions__items + li.form-actions__item.is-main + label.a-button.is-md.is-secondary.is-block(for='modal-course-description') + | コースの内容を確認する + li.form-actions__item.is-main + = link_to courses_path, class: 'a-button is-md is-secondary is-block' do + | コースを選択し直す diff --git a/app/views/welcome/_campaign.html.slim b/app/views/welcome/_campaign.html.slim index 9077191f361..1d775a2f67b 100644 --- a/app/views/welcome/_campaign.html.slim +++ b/app/views/welcome/_campaign.html.slim @@ -21,4 +21,4 @@ section.welcome-section.is-gw .welcome-actions__item = link_to 'お問い合わせ・質問', new_inquiry_path, class: 'a-welcome-button' .welcome-actions__item - = link_to '参加登録', new_user_path, class: 'a-welcome-button is-signup' + = link_to '参加登録', courses_path, class: 'a-welcome-button is-signup' diff --git a/app/views/welcome/_course.html.slim b/app/views/welcome/_course.html.slim new file mode 100644 index 00000000000..bafdbbb65fd --- /dev/null +++ b/app/views/welcome/_course.html.slim @@ -0,0 +1,32 @@ +article.course-selection-item.a-card + .course-selection-item__inner + header.course-selection-item__header + h2.course-selection-item__title.text-center + | #{course.title} + br + | コース + .course-selection-item__body + .course-selection-item__action.mb-4 + = link_to new_user_path(course_id:course.id), class: 'a-welcome-button is-md' do + | このコースを選択 + .course-selection-item__summary + .a-long-text.is-md.js-markdown-view + = course.description + section.course-selection-item__section + .a-long-text + details + summary + | カリキュラム一覧 + - course.categories.each do |category| + - if category.practices.present? + h4 + = category.name + table.welcome-table.a-card + - category.practices.each do |practice| + tr + td + = practice.title + + .course-selection-item__action + = link_to new_user_path(course_id:course.id), class: 'a-welcome-button is-md' do + | このコースを選択 diff --git a/app/views/welcome/_form.slim b/app/views/welcome/_form.slim index 8a0c742127f..6308b1ac979 100644 --- a/app/views/welcome/_form.slim +++ b/app/views/welcome/_form.slim @@ -4,5 +4,4 @@ section.welcome-actions .welcome-actions__item = link_to 'お問い合わせ・質問', new_inquiry_path, class: 'a-welcome-button' .welcome-actions__item - // = link_to '参加登録', new_user_path, class: 'a-welcome-button is-signup' = link_to '参加登録', courses_path, class: 'a-welcome-button is-signup' diff --git a/app/views/welcome/_welcome_header.html.slim b/app/views/welcome/_welcome_header.html.slim index c5f581e545e..4b074824be4 100644 --- a/app/views/welcome/_welcome_header.html.slim +++ b/app/views/welcome/_welcome_header.html.slim @@ -36,8 +36,6 @@ header.welcome-header | 紹介・言及記事 - unless current_user li.welcome-header-nav__item - // = link_to new_user_path, class: 'welcome-header-nav__item-link' do - // | 参加登録 = link_to courses_path, class: 'welcome-header-nav__item-link' do | 参加登録 li.welcome-header-nav__item.is-hidden-md-up diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 805e8cfbcce..94148be9ae0 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -19,7 +19,7 @@ .course-selection__descritpion .a-short-text p - | バックエンドコースとフロントエンドコースの2つのコースを提供しています。 + | Railsプログラマーコースとフロントエンドエンジニアコースの2つのコースがあります。 | 料金はどちらも同じです。 p | どちらのコースも、最初は共通のカリキュラムからスタートし、 @@ -27,95 +27,28 @@ | 自分で考えたWebサービスを作ってリリースすることを目指します。 |また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 p - | コース選びに迷ったら、まずはバックエンドコースを選んでみてください。 + | コース選びに迷ったら、まずはRailsプログラマーコースを選んでみてください。 | 入会後はメンターに相談ができるので、その時にしっかり考えましょう。 | 途中でのコースの変更、卒業後に別コースの必要なカリキュラムだけを受講することも可能です。 - - .course-selection__items.mt-8 + .course-selection-nav.is-hidden-md-up + .container + .course-selection-nav__inner + ul.course-selection-nav__items + li.course-selection-nav__item + = link_to '#rails-programmer-course', class: 'course-selection-nav__item-link' do + | Railsプログラマーコース + li.course-selection-nav__item + = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do + | フロントエンジニアコース + + .course-selection__items .container.is-xl .row.is-gutter-width-32 .col-md-6.col-xs-12 - article.course-selection-item.a-card - .course-selection-item__inner - header.course-selection-item__header - h2.course-selection-item__title - | バックエンドコース - .course-selection-item__body - .course-selection-item__summary - .a-long-text - p バックエンドコースでは、ウェブサイトやアプリの「裏側」を作る技術を学びます。例えば、ユーザーが入力した情報を保存したり、検索機能を実装したりする部分です。もし、データの処理やシステムの仕組みを作りたいと思っているなら、このコースがピッタリです! - .course-selection-item__action - = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do - | バックエンドコースを選択 - section.course-selection-item__section - .a-long-text - h3 詳しい内容 - ul - li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 - li 基礎知識: HTMLとCSSの基本を学び、簡単なウェブページを作成します。これらはウェブページの骨組みと見た目を作るための技術です。 - li 開発環境の設定: プログラムを書くための環境を整えます。例えば、Linuxというシステムの基本操作を学び、コマンドラインというツールの使い方を学びます。 - li プログラミング入門: Rubyというプログラミング言語を学び、基本的なプログラムの書き方を練習します。具体的には、簡単な計算やデータの操作をするプログラムを作ります。 - li データベースの学習: データベースの使い方を学びます。例えば、ユーザーの情報を保存したり、検索したりする方法を学びます。 - li ウェブサーバーの学習: ウェブサーバーの設定方法を学びます。これは、ウェブサイトがインターネット上で正しく動くための設定です。 - li Railsフレームワークの学習: Ruby on Railsという強力なフレームワークを使って、ウェブアプリケーションを効率的に開発する方法を学びます。Railsを使うことで、複雑な機能を簡単に実装できます。 - li Webアプリケーションの作成: 学んだ技術を使って、実際に動くウェブアプリケーションを作成します。例えば、ブログや簡単なSNSを作ります。 - li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 - li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 - - p このコースを修了すると、ウェブサイトやアプリの裏側の仕組みを理解し、自分でデータベースを扱ったり、ウェブサーバーを設定したり、Railsを使って効率的にウェブアプリケーションを作成することができるようになります。 - .course-selection-item__action - = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do - | バックエンドコースを選択 - + .course-selection-item-anchor#rails-programmer-course + - course = Course.find_by(title: 'Railsプログラマー') + = render('course', course: course) .col-md-6.col-xs-12 - article.course-selection-item.a-card - .course-selection-item__inner - header.course-selection-item__header - h2.course-selection-item__title - | フロントエンドコース - .course-selection-item__body - .course-selection-item__summary - .a-long-text - p フロントエンドコースでは、ウェブサイトやアプリの「見える部分」を作る技術を学びます。例えば、ボタンのデザインやクリックしたときの動きなどです。もし、デザインやユーザーインターフェイスの作成に興味があるなら、このコースがオススメです! - .course-selection-item__action - = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do - | フロントエンドコースを選択 - section.course-selection-item__section - .a-long-text - h3 詳しい内容 - ul - li 準備作業: 学習方法の理解や必要なツールの設定、チャットやSNSの登録、ブログ作成、GitHubアカウントの設定を行います。 - li 基礎知識: HTMLとCSSの基本を学び、ウェブページの骨組みと見た目を作成します。これらはウェブページのデザインを作るための技術です。 - li JavaScript入門: JavaScriptというプログラミング言語を学び、ウェブページにインタラクティブな機能を追加します。例えば、ボタンをクリックしたときに動きを付ける方法を学びます。 - li フレームワークの学習: Reactというツールを使って、複雑なウェブアプリケーションを簡単に作成する方法を学びます。これにより、効率的に機能豊富なアプリを作れます。 - li デザインの学習: ユーザーが使いやすいデザインの基本を学びます。レスポンシブデザインを学び、どんなデバイスでも見やすいウェブページを作ります。 - li チーム開発: 他の人と協力してプロジェクトを進める方法を学びます。実際の仕事に近い形で、みんなで一つのプロジェクトを作ります。 - li 自分のWebアプリケーションを作成: 最終的には、学んだ技術を総動員して、自分で考えたWebアプリケーションを作成します。アイデアを形にするためのサポートも行います。 - - p このコースを修了すると、美しいデザインと使いやすいインターフェイスを持つウェブサイトやアプリを作成できるようになります。フロントエンド開発は、ユーザーが直接触れる部分を作るので、デザインやユーザー体験に興味がある人にとって非常に魅力的です。 - .course-selection-item__action - = link_to new_user_path(course_id:829913840), class: 'a-welcome-button is-md' do - | フロントエンドコースを選択 - - // - .welcome-small-sections - = form_with url: new_user_path, method: :get, local: true do |f| - .form-item - .form-item__groups - .form-item-group - .form-item-group__body - - @courses.each do |course| - .row - .col-md-2 - | #{course.title} - .col-md-4 - | #{course.description} - .col-md-2 - .a-block-check.is-radio - = f.radio_button :course_id, course.id, id: "course_#{course.id}", class: 'a-toggle-checkbox' - label.a-block-check__label.is-ta-left(for="course_#{course.id}") - span.a-block-check__name - | 登録 - - .form-actions - = f.submit 'サインアップページに戻る', class: 'a-button is-primary', onclick: "this.removeAttribute('name')" + .course-selection-item-anchor#front-engineer-course + - course = Course.find_by(title: 'フロントエンドエンジニア') + = render('course', course: course) diff --git a/app/views/welcome/practices.html.slim b/app/views/welcome/practices.html.slim index 8a9456a94af..47ed281e8b1 100644 --- a/app/views/welcome/practices.html.slim +++ b/app/views/welcome/practices.html.slim @@ -16,8 +16,10 @@ section.welcome-section - if category.practices.present? .col-xs-12.col-md-4 .welcome-small-section - h3.welcome-small-section__title = category.name + h3.welcome-small-section__title + = category.name table.welcome-table.a-card - category.practices.each do |practice| tr - td = practice.title + td + = practice.title diff --git a/db/fixtures/courses.yml b/db/fixtures/courses.yml index e16dbf5d2aa..ff1340bce0f 100644 --- a/db/fixtures/courses.yml +++ b/db/fixtures/courses.yml @@ -1,6 +1,33 @@ course1: - title: Railsエンジニア - description: "Linux, Web, Ruby, Railsなどを学んでRailsエンジニアになろう。" + title: Railsプログラマー + description: |- + このコースでは、プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebプログラマーになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。 + + ### 主な内容 + **Linux** + Webアプリケーションを動かすために必要なOS、Linuxの使い方を学びます。 + + **Ruby** + Railsにも必須のバックエンドエンジニアとして必要な言語Rubyについて学びます。 + + **JavaScript** + フロントエンドエンドエンジニアとして必須のJavaScriptを基礎から学びます。 + + **Rails** + バックエンド・フロントエンドの両方を含めたWebアプリケーションを作るためのフレームワークであるRailsを学びます。 + + **チーム開発** + Railsで作られたフィヨルドブートキャンプのEラーニングシステム自体をチームで開発します。 + + **Webサービス作成** + アイデアから自分で考えたWebサービスをRailsを使って作り、デプロイまでして公開します。 + + :::message primary + #### バックエンドエンジニアとは + ウェブアプリケーションのサーバーサイドのロジックとデータ管理を担当するプログラマーです。 + 主な仕事はサーバーサイドのビジネスロジックの実装、APIの開発です。 + ユーザーが見えない部分で動作する仕組みを設計・実装し、システム全体が円滑に機能するようにします。 + ::: course2: title: Unityゲームエンジニア @@ -12,4 +39,28 @@ course3: course4: title: フロントエンドエンジニア - description: "JavaScriptやTypeScriptなどを学んでフロントエンドエンジニアになろう。" + description: |- + このコースではHTML、CSSやJavaScript/TypeScriptをつかってWebアプリケーションにおいてユーザーが直接触る部分(ユーザーインターフェース)を作るための技術を習得できます。 + ### 主な内容 + **JavaScript** + フロントエンドエンジニアとして一番重要な言語。基本から非同期処理、ライブラリの作成までしっかり学びます。 + + **TypeScript** + 現在のフロントエンド開発では欠かせない言語。アプリケーションを作っていく場面では全てこのTypeScriptを使用していきます。 + + **React** + WebアプリケーションのUIを作るための代表的なライブラリ。 + + **Next.js** + Reactと組み合わせてWebアプリケーションを作るための便利なライブラリ。 + + **チーム開発** + Next.jsで作られた実際に稼働しているWebアプリケーションをチームで作ります。 + + **Webサービス作成** + アイデアから自分で考えたWebサービスをNext.jsを使って作り、デプロイまでして公開します。 + + :::message primary + #### フロントエンドエンジニアとは + フロントエンドエンジニアとはユーザーが直接触れる部分を設計・開発するプログラマーです。主な仕事はユーザーインターフェース(UI)の設計と実装です。デザイナーが作成したビジュアルデザインを、HTML、CSS、JavaScriptを駆使して再現し、ユーザーが直感的に操作できるインターフェースを構築します。これにより、優れたユーザーエクスペリエンス(UX)を提供することを目指しています。 + ::: diff --git a/test/fixtures/courses.yml b/test/fixtures/courses.yml index 9d6ccbef668..e16dbf5d2aa 100644 --- a/test/fixtures/courses.yml +++ b/test/fixtures/courses.yml @@ -9,3 +9,7 @@ course2: course3: title: iOSプログラマー description: "iOS, Swiftを学んでiOSプログラマーになろう。" + +course4: + title: フロントエンドエンジニア + description: "JavaScriptやTypeScriptなどを学んでフロントエンドエンジニアになろう。" From a112a0b05f0c2000e2374b65a1280cb1ce8598b5 Mon Sep 17 00:00:00 2001 From: machida Date: Mon, 17 Jun 2024 23:30:45 +0900 Subject: [PATCH 12/36] =?UTF-8?q?=E3=82=AB=E3=83=AA=E3=82=AD=E3=83=A5?= =?UTF-8?q?=E3=83=A9=E3=83=A0=E4=B8=80=E8=A6=A7=E3=82=92=E7=94=B3=E3=81=97?= =?UTF-8?q?=E8=BE=BC=E3=81=BF=E6=99=82=E3=81=AB=E7=A2=BA=E8=AA=8D=E3=81=A7?= =?UTF-8?q?=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/form/_course_practice_list.html.slim | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/views/users/form/_course_practice_list.html.slim b/app/views/users/form/_course_practice_list.html.slim index e69de29bb2d..ad0999eaa4d 100644 --- a/app/views/users/form/_course_practice_list.html.slim +++ b/app/views/users/form/_course_practice_list.html.slim @@ -0,0 +1,9 @@ +- course.categories.each do |category| + - if category.practices.present? + h4 + = category.name + table.welcome-table.a-card + - category.practices.each do |practice| + tr + td + = practice.title From 68d7b62f5220ac0248c201b10de40a4ecb79023a Mon Sep 17 00:00:00 2001 From: machida Date: Mon, 17 Jun 2024 23:36:02 +0900 Subject: [PATCH 13/36] =?UTF-8?q?=E3=83=9A=E3=83=BC=E3=82=B8=E3=82=BF?= =?UTF-8?q?=E3=82=A4=E3=83=88=E3=83=AB=E4=BF=AE=E6=AD=A3=E3=80=81test?= =?UTF-8?q?=E3=82=82=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/courses.html.slim | 2 +- test/system/courses_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 94148be9ae0..f55b6bfa523 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -1,5 +1,5 @@ - content_for :extra_body_classes, 'no-forms' -- title '参加登録' +- title 'コース選択' - set_meta_tags(site: 'FJORD BOOT CAMP(フィヨルドブートキャンプ)', description: 'フィヨルドブートキャンプの学習内容一覧を表示しています。フィヨルドブートキャンプは現場の即戦力になるためのスキルとプログラミングの楽しさを伝える、現役エンジニアが考える理想のプログラミングスクールの実現に励んでいます。') diff --git a/test/system/courses_test.rb b/test/system/courses_test.rb index f58b921a2dd..4b917194c9c 100644 --- a/test/system/courses_test.rb +++ b/test/system/courses_test.rb @@ -5,7 +5,7 @@ class CoursesTest < ApplicationSystemTestCase test 'show listing courses' do visit_with_auth '/courses', 'mentormentaro' - assert_equal 'コース一覧 | FJORD BOOT CAMP(フィヨルドブートキャンプ)', title + assert_equal 'コース選択 | FJORD BOOT CAMP(フィヨルドブートキャンプ)', title end test 'create course' do From d4f5979552131af7b14523bc7ed8f6fe345dfa2a Mon Sep 17 00:00:00 2001 From: machida Date: Mon, 17 Jun 2024 23:45:38 +0900 Subject: [PATCH 14/36] =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E4=B8=AD=E3=81=AF=E3=82=B5=E3=82=A4=E3=83=B3=E3=82=A2=E3=83=83?= =?UTF-8?q?=E3=83=97=E3=81=AE=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AB=E5=85=A5?= =?UTF-8?q?=E3=82=8C=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stylesheets/atoms/_a-welcome-button.sass | 5 +++++ .../stylesheets/welcome/_course-selection-item.sass | 2 +- app/views/welcome/_course.html.slim | 12 ++++++------ 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/javascript/stylesheets/atoms/_a-welcome-button.sass b/app/javascript/stylesheets/atoms/_a-welcome-button.sass index 5a2f49bf3b8..dc992502ee2 100644 --- a/app/javascript/stylesheets/atoms/_a-welcome-button.sass +++ b/app/javascript/stylesheets/atoms/_a-welcome-button.sass @@ -21,3 +21,8 @@ font-size: .9375rem &.is-signup background-color: var(--welcome-orange) + &.is-disabled + pointer-events: none + background-color: var(--background-shade) + color: var(--muted-text) + border-color: var(--muted-text) diff --git a/app/javascript/stylesheets/welcome/_course-selection-item.sass b/app/javascript/stylesheets/welcome/_course-selection-item.sass index 81195126c55..c32ce7b8e4b 100644 --- a/app/javascript/stylesheets/welcome/_course-selection-item.sass +++ b/app/javascript/stylesheets/welcome/_course-selection-item.sass @@ -19,7 +19,7 @@ +text-block(1.25rem 1.4) .course-selection-item__action - margin-top: 1.5rem + margin-top: 1.25rem .course-selection-item__section margin-top: 1.5rem diff --git a/app/views/welcome/_course.html.slim b/app/views/welcome/_course.html.slim index bafdbbb65fd..5d5ad104f15 100644 --- a/app/views/welcome/_course.html.slim +++ b/app/views/welcome/_course.html.slim @@ -5,11 +5,11 @@ article.course-selection-item.a-card | #{course.title} br | コース + .course-selection-item__action.mb-4 + = link_to new_user_path(course_id:course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do + | このコースを選択 .course-selection-item__body - .course-selection-item__action.mb-4 - = link_to new_user_path(course_id:course.id), class: 'a-welcome-button is-md' do - | このコースを選択 - .course-selection-item__summary + .course-selection-item__description .a-long-text.is-md.js-markdown-view = course.description section.course-selection-item__section @@ -27,6 +27,6 @@ article.course-selection-item.a-card td = practice.title - .course-selection-item__action - = link_to new_user_path(course_id:course.id), class: 'a-welcome-button is-md' do + .course-selection-item__action + = link_to new_user_path(course_id:course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do | このコースを選択 From 4a4aa8574668644f37c06691001ccf9b13b018ab Mon Sep 17 00:00:00 2001 From: machida Date: Tue, 18 Jun 2024 00:20:06 +0900 Subject: [PATCH 15/36] :cop: --- app/views/welcome/_course.html.slim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/welcome/_course.html.slim b/app/views/welcome/_course.html.slim index 5d5ad104f15..74a1d7f1ebb 100644 --- a/app/views/welcome/_course.html.slim +++ b/app/views/welcome/_course.html.slim @@ -6,7 +6,7 @@ article.course-selection-item.a-card br | コース .course-selection-item__action.mb-4 - = link_to new_user_path(course_id:course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do + = link_to new_user_path(course_id: course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do | このコースを選択 .course-selection-item__body .course-selection-item__description @@ -28,5 +28,5 @@ article.course-selection-item.a-card = practice.title .course-selection-item__action - = link_to new_user_path(course_id:course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do + = link_to new_user_path(course_id: course.id), class: "a-welcome-button is-md #{current_user ? 'is-disabled' : ''}" do | このコースを選択 From 5f308105ac8f464b016eb3a1013e05d522a959a9 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 19 Jun 2024 13:03:27 +0900 Subject: [PATCH 16/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E5=8F=96?= =?UTF-8?q?=E5=BE=97=E3=81=AE=E5=AE=9A=E7=BE=A9=E3=82=92=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit allだとどう並ぶかわからないので変更した --- app/controllers/welcome_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 5f45d14181f..8619164bcb2 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -28,6 +28,6 @@ def law; end def coc; end def courses - @courses = Course.all + @courses = Course.order(:created_at) end end From d477c6eb9d9667f14783ae7510de15d8f9222a0a Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 19 Jun 2024 13:05:46 +0900 Subject: [PATCH 17/36] =?UTF-8?q?=E3=83=87=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=88=E3=81=AE=E3=82=B3=E3=83=BC=E3=82=B9=E3=81=AE=E5=AE=9A?= =?UTF-8?q?=E7=BE=A9=E5=A0=B4=E6=89=80=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit find_default_courseは他でも使いそうなのでモデルに移動した --- app/helpers/signup_helper.rb | 6 +----- app/models/course.rb | 4 ++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/helpers/signup_helper.rb b/app/helpers/signup_helper.rb index 8e9093b269d..e74a8de7897 100644 --- a/app/helpers/signup_helper.rb +++ b/app/helpers/signup_helper.rb @@ -4,10 +4,6 @@ module SignupHelper def find_course(course_id) Course.find(course_id) rescue ActiveRecord::RecordNotFound - find_default_course - end - - def find_default_course - Course.find_by(title: 'Railsプログラマー') + Course.find_default_course end end diff --git a/app/models/course.rb b/app/models/course.rb index 3bad8a736d7..7a8a2431b69 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -8,4 +8,8 @@ class Course < ApplicationRecord has_many :users, dependent: :nullify validates :title, presence: true validates :description, presence: true + + def find_default_course + Course.find_by(title: 'Railsプログラマー') + end end From ab90cab7bcbf964e23eca237edb9439bd12f3f87 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 19 Jun 2024 13:11:37 +0900 Subject: [PATCH 18/36] =?UTF-8?q?=E3=82=AF=E3=83=A9=E3=82=B9=E3=83=A1?= =?UTF-8?q?=E3=82=BD=E3=83=83=E3=83=89=E3=81=AB=E3=81=97=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=AA=E3=81=8F=E3=80=81NoMethodError=E3=81=8C=E5=87=BA?= =?UTF-8?q?=E3=81=9F=E3=81=9F=E3=82=81=E4=BF=AE=E6=AD=A3=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/course.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/course.rb b/app/models/course.rb index 7a8a2431b69..6000b04246a 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -9,7 +9,7 @@ class Course < ApplicationRecord validates :title, presence: true validates :description, presence: true - def find_default_course + def self.find_default_course Course.find_by(title: 'Railsプログラマー') end end From 4b07cec979936cd5726785c76fe012c326118c05 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Tue, 25 Jun 2024 19:13:29 +0900 Subject: [PATCH 19/36] =?UTF-8?q?=E3=83=87=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=88=E3=81=AE=E3=82=BF=E3=82=A4=E3=83=88=E3=83=AB=E3=82=92?= =?UTF-8?q?=E5=AE=9A=E6=95=B0=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit タイトルが複数箇所で使われているので定数化してまとめた メソッド名のfind_は不要なため変更した --- app/controllers/welcome_controller.rb | 3 +-- app/models/course.rb | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 8619164bcb2..7619d9eb6ea 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -3,7 +3,6 @@ class WelcomeController < ApplicationController skip_before_action :require_active_user_login, raise: false layout 'welcome' - DEFAULT_COURSE = 'Railsエンジニア' def index @mentors = current_user ? User.mentors_sorted_by_created_at : User.visible_sorted_mentors @@ -16,7 +15,7 @@ def faq; end def training; end def practices - @categories = Course.find_by(title: DEFAULT_COURSE).categories.preload(:practices).order(:position) + @categories = Course.find_by(title: Course::DEFAULT_COURSE).categories.preload(:practices).order(:position) end def tos; end diff --git a/app/models/course.rb b/app/models/course.rb index 6000b04246a..5ecb541aa65 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class Course < ApplicationRecord + DEFAULT_COURSE = 'Railsプログラマー' + has_many :courses_categories, dependent: :destroy has_many :categories, through: :courses_categories has_many :practices, through: :categories @@ -9,7 +11,7 @@ class Course < ApplicationRecord validates :title, presence: true validates :description, presence: true - def self.find_default_course - Course.find_by(title: 'Railsプログラマー') + def self.default_course + Course.find_by(title: DEFAULT_COURSE) end end From 542ab769d992ae2d0ff2a83d33ea97ba26a8f8bd Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Tue, 25 Jun 2024 19:13:45 +0900 Subject: [PATCH 20/36] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E5=9B=9E?= =?UTF-8?q?=E9=81=BF=E6=96=B9=E6=B3=95=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/helpers/signup_helper.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/helpers/signup_helper.rb b/app/helpers/signup_helper.rb index e74a8de7897..883f77bd55c 100644 --- a/app/helpers/signup_helper.rb +++ b/app/helpers/signup_helper.rb @@ -2,8 +2,6 @@ module SignupHelper def find_course(course_id) - Course.find(course_id) - rescue ActiveRecord::RecordNotFound - Course.find_default_course + Course.find_by(id: course_id) || Course.default_course end end From 7af77881938ca33b0ad1ef4a3937c922c8e2aff3 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 26 Jun 2024 09:11:07 +0900 Subject: [PATCH 21/36] =?UTF-8?q?=E5=AE=9A=E6=95=B0=E3=81=AE=E5=8F=82?= =?UTF-8?q?=E7=85=A7=E6=96=B9=E6=B3=95=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97?= =?UTF-8?q?=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Courseクラス内でDEFAULT_COURSEを直接参照するのではなく、パブリックメソッドを通じてアクセスできるようにした --- app/controllers/welcome_controller.rb | 2 +- app/models/course.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 7619d9eb6ea..4cca5a13138 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -15,7 +15,7 @@ def faq; end def training; end def practices - @categories = Course.find_by(title: Course::DEFAULT_COURSE).categories.preload(:practices).order(:position) + @categories = Course.default_course.categories.preload(:practices).order(:position) end def tos; end diff --git a/app/models/course.rb b/app/models/course.rb index 5ecb541aa65..2113a7e644f 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -12,6 +12,6 @@ class Course < ApplicationRecord validates :description, presence: true def self.default_course - Course.find_by(title: DEFAULT_COURSE) + find_by(title: DEFAULT_COURSE) end end From 6f2b417f0f8275580386b0a652d690338d864ed4 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 26 Jun 2024 09:21:34 +0900 Subject: [PATCH 22/36] =?UTF-8?q?Helper=E5=90=8D=E3=82=92=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signupだけで必要なものではないので変更した --- app/helpers/{signup_helper.rb => course_helper.rb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/helpers/{signup_helper.rb => course_helper.rb} (86%) diff --git a/app/helpers/signup_helper.rb b/app/helpers/course_helper.rb similarity index 86% rename from app/helpers/signup_helper.rb rename to app/helpers/course_helper.rb index 883f77bd55c..5cbdb90c841 100644 --- a/app/helpers/signup_helper.rb +++ b/app/helpers/course_helper.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -module SignupHelper +module CourseHelper def find_course(course_id) Course.find_by(id: course_id) || Course.default_course end From 9fc9edf98b5c7b553dad53a241ea90b4c77793df Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Wed, 26 Jun 2024 19:24:53 +0900 Subject: [PATCH 23/36] =?UTF-8?q?Rails=E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9?= =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B3=E3=83=BC=E3=82=B9=E3=81=AE=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR#7887で変更しており競合があったため変更した --- app/models/course.rb | 2 +- app/views/welcome/courses.html.slim | 8 ++++---- db/fixtures/courses.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/models/course.rb b/app/models/course.rb index 2113a7e644f..848c5e251a7 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true class Course < ApplicationRecord - DEFAULT_COURSE = 'Railsプログラマー' + DEFAULT_COURSE = 'Railsエンジニア' has_many :courses_categories, dependent: :destroy has_many :categories, through: :courses_categories diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index f55b6bfa523..0c1afbe5488 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -19,7 +19,7 @@ .course-selection__descritpion .a-short-text p - | Railsプログラマーコースとフロントエンドエンジニアコースの2つのコースがあります。 + | Railsエンジニアコースとフロントエンドエンジニアコースの2つのコースがあります。 | 料金はどちらも同じです。 p | どちらのコースも、最初は共通のカリキュラムからスタートし、 @@ -27,7 +27,7 @@ | 自分で考えたWebサービスを作ってリリースすることを目指します。 |また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 p - | コース選びに迷ったら、まずはRailsプログラマーコースを選んでみてください。 + | コース選びに迷ったら、まずはRailsエンジニアコースを選んでみてください。 | 入会後はメンターに相談ができるので、その時にしっかり考えましょう。 | 途中でのコースの変更、卒業後に別コースの必要なカリキュラムだけを受講することも可能です。 .course-selection-nav.is-hidden-md-up @@ -36,7 +36,7 @@ ul.course-selection-nav__items li.course-selection-nav__item = link_to '#rails-programmer-course', class: 'course-selection-nav__item-link' do - | Railsプログラマーコース + | Railsエンジニアコース li.course-selection-nav__item = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do | フロントエンジニアコース @@ -46,7 +46,7 @@ .row.is-gutter-width-32 .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - - course = Course.find_by(title: 'Railsプログラマー') + - course = Course.find_by(title: 'Railsエンジニア') = render('course', course: course) .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course diff --git a/db/fixtures/courses.yml b/db/fixtures/courses.yml index ff1340bce0f..96265bc28aa 100644 --- a/db/fixtures/courses.yml +++ b/db/fixtures/courses.yml @@ -1,5 +1,5 @@ course1: - title: Railsプログラマー + title: Railsエンジニア description: |- このコースでは、プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebプログラマーになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。 From aedac1eae26d6c6de58e841310099c601abb3225 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Thu, 27 Jun 2024 09:49:04 +0900 Subject: [PATCH 24/36] =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E5=90=8D=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Helper名は複数形なので修正した --- app/helpers/{course_helper.rb => courses_helper.rb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/helpers/{course_helper.rb => courses_helper.rb} (86%) diff --git a/app/helpers/course_helper.rb b/app/helpers/courses_helper.rb similarity index 86% rename from app/helpers/course_helper.rb rename to app/helpers/courses_helper.rb index 5cbdb90c841..7b18db6fa82 100644 --- a/app/helpers/course_helper.rb +++ b/app/helpers/courses_helper.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -module CourseHelper +module CoursesHelper def find_course(course_id) Course.find_by(id: course_id) || Course.default_course end From 5bb5e8998a50cf75cae475b92c4c77c2f8707661 Mon Sep 17 00:00:00 2001 From: nakamurakazuki Date: Thu, 27 Jun 2024 10:02:29 +0900 Subject: [PATCH 25/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E3=82=92?= =?UTF-8?q?=E3=82=B7=E3=83=B3=E3=83=97=E3=83=AB=E3=81=AB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit h3のテキストは長くないので、|を入れなくても問題ない --- app/views/users/form/_course_select.html.slim | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/views/users/form/_course_select.html.slim b/app/views/users/form/_course_select.html.slim index c654b6290fd..84368c2b730 100644 --- a/app/views/users/form/_course_select.html.slim +++ b/app/views/users/form/_course_select.html.slim @@ -13,8 +13,7 @@ .a-long-text.is-md.js-markdown-view = course.description .a-long-text.is-md - h3 - | カリキュラム一覧 + h3 カリキュラム一覧 = render 'users/form/course_practice_list', course: course hr.a-border.mb-8 From 0a0abab73a6d29cf911fb7c4fd222d42401c10aa Mon Sep 17 00:00:00 2001 From: machida Date: Fri, 21 Jun 2024 14:43:17 +0900 Subject: [PATCH 26/36] =?UTF-8?q?=E5=AD=A6=E7=BF=92=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E3=83=9A=E3=83=BC=E3=82=B8=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/welcome_controller.rb | 5 ++ app/javascript/stylesheets/welcome.sass | 1 + .../welcome/_welcome-practices.sass | 21 ++++++++ app/views/welcome/_course_practices.html.slim | 21 ++++++++ app/views/welcome/practices.html.slim | 51 +++++++++++++------ 5 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 app/javascript/stylesheets/welcome/_welcome-practices.sass create mode 100644 app/views/welcome/_course_practices.html.slim diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 4cca5a13138..4fda81fc9d3 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -3,6 +3,9 @@ class WelcomeController < ApplicationController skip_before_action :require_active_user_login, raise: false layout 'welcome' + DEFAULT_COURSE = 'Railsプログラマー' + RAILS_COURSE = Course.find_by(title: DEFAULT_COURSE) + FRONTEND_COURSE = Course.find_by(title: 'フロントエンドエンジニア') def index @mentors = current_user ? User.mentors_sorted_by_created_at : User.visible_sorted_mentors @@ -16,6 +19,8 @@ def training; end def practices @categories = Course.default_course.categories.preload(:practices).order(:position) + @rails_categories = RAILS_COURSE ? RAILS_COURSE.categories.preload(:practices).order(:position) : [] + @frontend_categories = FRONTEND_COURSE ? FRONTEND_COURSE.categories.preload(:practices).order(:position) : [] end def tos; end diff --git a/app/javascript/stylesheets/welcome.sass b/app/javascript/stylesheets/welcome.sass index 8cba3770566..43daf0387a9 100644 --- a/app/javascript/stylesheets/welcome.sass +++ b/app/javascript/stylesheets/welcome.sass @@ -31,4 +31,5 @@ @import welcome/welcome-table @import welcome/welcome-top-info @import welcome/welcome-trial-period-table +@import welcome/welcome-practices @import welcome/welcome diff --git a/app/javascript/stylesheets/welcome/_welcome-practices.sass b/app/javascript/stylesheets/welcome/_welcome-practices.sass new file mode 100644 index 00000000000..9f2fae85cc2 --- /dev/null +++ b/app/javascript/stylesheets/welcome/_welcome-practices.sass @@ -0,0 +1,21 @@ +.welcome-practices__title + font-weight: 700 + text-align: center + +media-breakpoint-up(md) + +text-block(1.5rem 1.4) + +media-breakpoint-down(sm) + +text-block(1.25rem 1.4) + +.welcome-practices__body + +media-breakpoint-up(md) + margin-top: 1rem + +media-breakpoint-down(sm) + margin-top: .75rem + +.welcome-practices__item + display: block + +text-block(.875rem 1.4) + &:not(:last-child) + border-bottom: solid 1px var(--border-tint) + padding-bottom: .25rem + margin-bottom: .25rem diff --git a/app/views/welcome/_course_practices.html.slim b/app/views/welcome/_course_practices.html.slim new file mode 100644 index 00000000000..562840c67f4 --- /dev/null +++ b/app/views/welcome/_course_practices.html.slim @@ -0,0 +1,21 @@ +article.course-selection-item.a-card + .course-selection-item__inner + header.course-selection-item__header + h2.course-selection-item__title.text-center + | #{course.title} + br + | コース + .course-selection-item__body + section.course-selection-item__section + .a-long-text + h2 + | カリキュラム一覧 + - course.categories.each do |category| + - if category.practices.present? + h4 + = category.name + table.welcome-table.a-card + - category.practices.each do |practice| + tr + td + = practice.title diff --git a/app/views/welcome/practices.html.slim b/app/views/welcome/practices.html.slim index 47ed281e8b1..912a3d36640 100644 --- a/app/views/welcome/practices.html.slim +++ b/app/views/welcome/practices.html.slim @@ -8,18 +8,39 @@ h1.welcome-page-header__title = title -section.welcome-section - .container.is-xl - .welcome-small-sections - .row.is-gutter-widtd-32 - - @categories.each do |category| - - if category.practices.present? - .col-xs-12.col-md-4 - .welcome-small-section - h3.welcome-small-section__title - = category.name - table.welcome-table.a-card - - category.practices.each do |practice| - tr - td - = practice.title +.welcome-page-body + section.course-selection + .container.is-sm + .course-selection__header + h2.welcome-section__title.has-border + | 選べる2つのコース + .course-selection__body + .course-selection__descritpion + .a-short-text + p + | Railsプログラマーコースとフロントエンドエンジニアコースの2つのコースがあります。料金はどちらも同じです。 + p + | どちらのコースも、最初は共通のカリキュラムからスタートし、その後に専門分野に分かれて学んでいきます。最終的には、自分で考えたWebサービスを作ってリリースすることを目指します。また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 + + .course-selection-nav.is-hidden-md-up + .container + .course-selection-nav__inner + ul.course-selection-nav__items + li.course-selection-nav__item + = link_to '#rails-programmer-course', class: 'course-selection-nav__item-link' do + | Railsプログラマーコース + li.course-selection-nav__item + = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do + | フロントエンジニアコース + + .course-selection__items + .container.is-xl + .row.is-gutter-width-32 + .col-md-6.col-xs-12 + .course-selection-item-anchor#rails-programmer-course + - course = Course.find_by(title: 'Railsプログラマー') + = render('course_practices', course: course) + .col-md-6.col-xs-12 + .course-selection-item-anchor#front-engineer-course + - course = Course.find_by(title: 'フロントエンドエンジニア') + = render('course_practices', course: course) From 323f11fac7e89d9f122db699206144b103873d5a Mon Sep 17 00:00:00 2001 From: machida Date: Fri, 21 Jun 2024 14:44:15 +0900 Subject: [PATCH 27/36] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AAsass=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/javascript/stylesheets/welcome.sass | 1 - .../welcome/_welcome-practices.sass | 21 ------------------- 2 files changed, 22 deletions(-) delete mode 100644 app/javascript/stylesheets/welcome/_welcome-practices.sass diff --git a/app/javascript/stylesheets/welcome.sass b/app/javascript/stylesheets/welcome.sass index 43daf0387a9..8cba3770566 100644 --- a/app/javascript/stylesheets/welcome.sass +++ b/app/javascript/stylesheets/welcome.sass @@ -31,5 +31,4 @@ @import welcome/welcome-table @import welcome/welcome-top-info @import welcome/welcome-trial-period-table -@import welcome/welcome-practices @import welcome/welcome diff --git a/app/javascript/stylesheets/welcome/_welcome-practices.sass b/app/javascript/stylesheets/welcome/_welcome-practices.sass deleted file mode 100644 index 9f2fae85cc2..00000000000 --- a/app/javascript/stylesheets/welcome/_welcome-practices.sass +++ /dev/null @@ -1,21 +0,0 @@ -.welcome-practices__title - font-weight: 700 - text-align: center - +media-breakpoint-up(md) - +text-block(1.5rem 1.4) - +media-breakpoint-down(sm) - +text-block(1.25rem 1.4) - -.welcome-practices__body - +media-breakpoint-up(md) - margin-top: 1rem - +media-breakpoint-down(sm) - margin-top: .75rem - -.welcome-practices__item - display: block - +text-block(.875rem 1.4) - &:not(:last-child) - border-bottom: solid 1px var(--border-tint) - padding-bottom: .25rem - margin-bottom: .25rem From b016d2a4f886748d5c1f5d5442b1c1284f8aba64 Mon Sep 17 00:00:00 2001 From: machida Date: Fri, 21 Jun 2024 14:46:46 +0900 Subject: [PATCH 28/36] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E5=AE=9A?= =?UTF-8?q?=E6=95=B0=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/welcome_controller.rb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 4fda81fc9d3..1c17e0562fd 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -4,8 +4,6 @@ class WelcomeController < ApplicationController skip_before_action :require_active_user_login, raise: false layout 'welcome' DEFAULT_COURSE = 'Railsプログラマー' - RAILS_COURSE = Course.find_by(title: DEFAULT_COURSE) - FRONTEND_COURSE = Course.find_by(title: 'フロントエンドエンジニア') def index @mentors = current_user ? User.mentors_sorted_by_created_at : User.visible_sorted_mentors @@ -17,11 +15,7 @@ def faq; end def training; end - def practices - @categories = Course.default_course.categories.preload(:practices).order(:position) - @rails_categories = RAILS_COURSE ? RAILS_COURSE.categories.preload(:practices).order(:position) : [] - @frontend_categories = FRONTEND_COURSE ? FRONTEND_COURSE.categories.preload(:practices).order(:position) : [] - end + def practices; end def tos; end From 392c0f20fc28235e7e31db61be61a69571831cf2 Mon Sep 17 00:00:00 2001 From: machida Date: Fri, 21 Jun 2024 16:27:25 +0900 Subject: [PATCH 29/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E5=90=8D?= =?UTF-8?q?=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/courses.html.slim | 14 ++++++++++---- app/views/welcome/practices.html.slim | 16 +++++++++++----- db/fixtures/courses.yml | 8 ++++---- test/fixtures/courses.yml | 4 ++-- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 0c1afbe5488..e231b76fc1f 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -39,7 +39,7 @@ | Railsエンジニアコース li.course-selection-nav__item = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do - | フロントエンジニアコース + | フロントエンドプログラマーコース .course-selection__items .container.is-xl @@ -47,8 +47,14 @@ .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - course = Course.find_by(title: 'Railsエンジニア') - = render('course', course: course) + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course - - course = Course.find_by(title: 'フロントエンドエンジニア') - = render('course', course: course) + - course = Course.find_by(title: 'フロントエンドプログラマー') + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 diff --git a/app/views/welcome/practices.html.slim b/app/views/welcome/practices.html.slim index 912a3d36640..cb9c7e1aab1 100644 --- a/app/views/welcome/practices.html.slim +++ b/app/views/welcome/practices.html.slim @@ -18,7 +18,7 @@ .course-selection__descritpion .a-short-text p - | Railsプログラマーコースとフロントエンドエンジニアコースの2つのコースがあります。料金はどちらも同じです。 + | Railsプログラマーコースとフロントエンドプログラマーコースの2つのコースがあります。料金はどちらも同じです。 p | どちらのコースも、最初は共通のカリキュラムからスタートし、その後に専門分野に分かれて学んでいきます。最終的には、自分で考えたWebサービスを作ってリリースすることを目指します。また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 @@ -31,7 +31,7 @@ | Railsプログラマーコース li.course-selection-nav__item = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do - | フロントエンジニアコース + | フロントエンドプログラマーコース .course-selection__items .container.is-xl @@ -39,8 +39,14 @@ .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - course = Course.find_by(title: 'Railsプログラマー') - = render('course_practices', course: course) + - if course + = render('course_practices', course: course) + - else + p コースが見つかりませんでした。 .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course - - course = Course.find_by(title: 'フロントエンドエンジニア') - = render('course_practices', course: course) + - course = Course.find_by(title: 'フロントエンドプログラマー') + - if course + = render('course_practices', course: course) + - else + p コースが見つかりませんでした。 diff --git a/db/fixtures/courses.yml b/db/fixtures/courses.yml index 96265bc28aa..7e2a3ca2c9d 100644 --- a/db/fixtures/courses.yml +++ b/db/fixtures/courses.yml @@ -38,12 +38,12 @@ course3: description: "iOS, Swiftを学んでiOSプログラマーになろう。" course4: - title: フロントエンドエンジニア + title: フロントエンドプログラマー description: |- このコースではHTML、CSSやJavaScript/TypeScriptをつかってWebアプリケーションにおいてユーザーが直接触る部分(ユーザーインターフェース)を作るための技術を習得できます。 ### 主な内容 **JavaScript** - フロントエンドエンジニアとして一番重要な言語。基本から非同期処理、ライブラリの作成までしっかり学びます。 + フロントエンドプログラマーとして一番重要な言語。基本から非同期処理、ライブラリの作成までしっかり学びます。 **TypeScript** 現在のフロントエンド開発では欠かせない言語。アプリケーションを作っていく場面では全てこのTypeScriptを使用していきます。 @@ -61,6 +61,6 @@ course4: アイデアから自分で考えたWebサービスをNext.jsを使って作り、デプロイまでして公開します。 :::message primary - #### フロントエンドエンジニアとは - フロントエンドエンジニアとはユーザーが直接触れる部分を設計・開発するプログラマーです。主な仕事はユーザーインターフェース(UI)の設計と実装です。デザイナーが作成したビジュアルデザインを、HTML、CSS、JavaScriptを駆使して再現し、ユーザーが直感的に操作できるインターフェースを構築します。これにより、優れたユーザーエクスペリエンス(UX)を提供することを目指しています。 + #### フロントエンドプログラマーとは + フロントエンドプログラマーとはユーザーが直接触れる部分を設計・開発するプログラマーです。主な仕事はユーザーインターフェース(UI)の設計と実装です。デザイナーが作成したビジュアルデザインを、HTML、CSS、JavaScriptを駆使して再現し、ユーザーが直感的に操作できるインターフェースを構築します。これにより、優れたユーザーエクスペリエンス(UX)を提供することを目指しています。 ::: diff --git a/test/fixtures/courses.yml b/test/fixtures/courses.yml index e16dbf5d2aa..676c971d7cc 100644 --- a/test/fixtures/courses.yml +++ b/test/fixtures/courses.yml @@ -11,5 +11,5 @@ course3: description: "iOS, Swiftを学んでiOSプログラマーになろう。" course4: - title: フロントエンドエンジニア - description: "JavaScriptやTypeScriptなどを学んでフロントエンドエンジニアになろう。" + title: フロントエンドプログラマー + description: "JavaScriptやTypeScriptなどを学んでフロントエンドプログラマーになろう。" From a0bd7f39820562d0cd945e09a0df31b7caddf0d0 Mon Sep 17 00:00:00 2001 From: machida Date: Fri, 21 Jun 2024 17:40:55 +0900 Subject: [PATCH 30/36] =?UTF-8?q?=E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9?= =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=92=E3=82=A8=E3=83=B3=E3=82=B8=E3=83=8B?= =?UTF-8?q?=E3=82=A2=E3=81=AB=E5=A4=89=E6=9B=B4=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- app/controllers/welcome_controller.rb | 2 +- .../welcome/_course-selection-nav.sass | 2 +- app/views/articles/_ad.html.slim | 10 ++++---- app/views/home/_welcome_message.html.slim | 20 ++++++++++------ app/views/reports/_form.html.slim | 2 +- app/views/unauthorized/_about_fbc.html.slim | 9 +++---- app/views/users/form/_profile_job.html.slim | 2 +- app/views/users/form/_profile_text.html.slim | 2 +- app/views/welcome/_about.slim | 12 +++++++--- app/views/welcome/_cases.slim | 9 ++++--- app/views/welcome/_faq.slim | 7 ++++-- app/views/welcome/_process.slim | 1 - app/views/welcome/_tutorials.slim | 4 +--- app/views/welcome/courses.html.slim | 24 +++++++++---------- app/views/welcome/practices.html.slim | 10 ++++---- app/views/welcome/training.html.slim | 2 +- db/fixtures/courses.yml | 16 ++++++------- db/fixtures/users.yml | 8 +++---- test/fixtures/courses.yml | 12 ++++++---- test/fixtures/users.yml | 6 ++--- test/system/admin/users_test.rb | 4 ++-- test/system/home_test.rb | 4 ++-- test/system/welcome_test.rb | 22 ++++++++--------- 24 files changed, 105 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index a2b3fa2e0e1..67c06147128 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # Bootcamp -プログラマー向けEラーニングシステム。 +エンジニア向けEラーニングシステム。 ## インストールと起動 diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index 1c17e0562fd..67da6c71cc1 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -3,7 +3,7 @@ class WelcomeController < ApplicationController skip_before_action :require_active_user_login, raise: false layout 'welcome' - DEFAULT_COURSE = 'Railsプログラマー' + DEFAULT_COURSE = 'Railsエンジニア' def index @mentors = current_user ? User.mentors_sorted_by_created_at : User.visible_sorted_mentors diff --git a/app/javascript/stylesheets/welcome/_course-selection-nav.sass b/app/javascript/stylesheets/welcome/_course-selection-nav.sass index ac453b2b288..9f298d1cc82 100644 --- a/app/javascript/stylesheets/welcome/_course-selection-nav.sass +++ b/app/javascript/stylesheets/welcome/_course-selection-nav.sass @@ -15,7 +15,7 @@ .course-selection-nav__item-link border: solid 1px var(--main) background-color: var(--base) - +text-block(.75rem 1.4) + +text-block(.75rem 1.4, center) display: flex text-decoration: none height: 2.75rem diff --git a/app/views/articles/_ad.html.slim b/app/views/articles/_ad.html.slim index 558292ccd5f..9cb5e1b1195 100644 --- a/app/views/articles/_ad.html.slim +++ b/app/views/articles/_ad.html.slim @@ -11,15 +11,13 @@ aside.bootcamp-ad class: 'bootcamp-ad__image' .a-short-text.is-sm p - | フィヨルドブートキャンプは、 - | ソフトウェアエンジニアとして就職を目指せるスキルを - | 「プロの現場でプラス戦力として数えられるソフトウェアエンジニア」とし、 - | それを身につけることを目標とした - | オンラインプログラミングスクールです。 + | 就職ができるスキルを身につけるのは当然、 + | 卒業をした時点ですでに、「現場にとって、プラスの戦力として数えられる」の実力を + | 身につけることを目標とした、オンラインプログラミングスクールです。 br | プログラミング未経験からスタートして、 | HTML、CSS、Linux、Ruby、Rails、JavaScript、チーム開発を経て、 - | 自作サービスを公開するまでのカリキュラムを用意しています。 + | 最終的に自作サービスを公開するまでのカリキュラムを用意しています。 hr.a-border-tint .card-footer = link_to welcome_path, class: 'a-button is-primary is-lg is-block' do diff --git a/app/views/home/_welcome_message.html.slim b/app/views/home/_welcome_message.html.slim index cf2798bd3bc..7b398dbd68f 100644 --- a/app/views/home/_welcome_message.html.slim +++ b/app/views/home/_welcome_message.html.slim @@ -53,11 +53,13 @@ | 自分の気持ちをアウトプットする場としてコミュニティを使うのがオススメです。 p | 学習が進まなくて辛い、新しいことを知って嬉しい、プログラミングができるようになって楽しい、 - | 仕事が忙しくて学習に時間が取れなくて悲しい、ソフトウェアエンジニアとして就職できるのか不安...これから学習を進めていく上で色んな気持ちになるかと思いますが、 + | 仕事が忙しくて学習に時間が取れなくて悲しい、ソフトウェアエンジニアとして就職できるのか不安... + | これから学習を進めていく上で色んな気持ちになるかと思いますが、 | 気持ちをチャットや日報を使ってアウトプットしていきましょう。 | 辛いことに対しては親身に相談に乗ってくれたり、アドバイスをしてくれたり、嬉しいことは一緒に喜んでくれたり、 | コミュニティのみんなが「あなたのプログラミングを楽しむ気持ち」を育ててくれます。 - | どんな状況でも、それを楽しめるようになれば無敵です。どんどん気持ちをアウトプットすること、これが卒業までやりきるためのコツです。 + | どんな状況でも、それを楽しめるようになれば無敵です。 + | どんどん気持ちをアウトプットすること、これが卒業までやりきるためのコツです。 h2 | 学習の進め方 p @@ -65,14 +67,18 @@ | フィヨルドブートキャンプでは、学習の項目一つ一つを「プラクティス」と呼んでいます。 |このプラクティスを上から順にやっていく、というのが学習の進め方になります。 p - | プラクティス一覧画面に移動したら、最初のプラクティスをクリックしますと、そのプラクティスでやることが書かれています。 - | まずは、ページ上部にある「着手」をクリックして、ステータスを着手中にします。そして、そのプラクティスでのやることを進めていきます。 - | 全てが完了したら、ステータスを「修了」にします。これでそのプラクティスは完了です。次のプラクティスに進みます。 + | プラクティス一覧画面に移動したら、最初のプラクティスをクリックしますと、 + | そのプラクティスでやることが書かれています。 + | まずは、ページ上部にある「着手」をクリックして、ステータスを着手中にします。 + | そして、そのプラクティスでのやることを進めていきます。 + | 全てが完了したら、ステータスを「修了」にします。これでそのプラクティスは完了です。 + | 次のプラクティスに進みます。 p | 他にも色々在るのですが、現時点では以上のところだけ理解いただければ十分です。 | これから始まる「学習の進め方を知る」というプラクティスでその他の詳しい説明があります。 p - | もし何か不明点がありましたら、現時点では komagata@fjord.jp にメールでご連絡をお願いします。 - | 途中、「チャットを使えるようになる」というプラクティスがあるのですが、それを終えるとチャットで連絡が取れるようになりますので、 + | もし何か不明点がありましたら、現時点では info@fjord.jp にメールでご連絡をお願いします。 + | 途中、「チャットを使えるようになる」というプラクティスがあるのですが、 + | それを終えるとチャットで連絡が取れるようになりますので、 | そこから先はチャットでご質問をお願いします。 hr.a-border diff --git a/app/views/reports/_form.html.slim b/app/views/reports/_form.html.slim index a1519da3ea7..ce5d7a86d49 100644 --- a/app/views/reports/_form.html.slim +++ b/app/views/reports/_form.html.slim @@ -125,7 +125,7 @@ .a-short-text p | WIPとは、「work in progress」もしくは「work in process」の略。 - | 「作業中」を表すプログラマー界隈でよく使われる用語です。 + | 「作業中」を表すエンジニア界隈でよく使われる用語です。 p | 下書きと違って、WIPの状態でも公開されています(バグではありません😄)。 p diff --git a/app/views/unauthorized/_about_fbc.html.slim b/app/views/unauthorized/_about_fbc.html.slim index c3a466330f7..bc32b3e7ecf 100644 --- a/app/views/unauthorized/_about_fbc.html.slim +++ b/app/views/unauthorized/_about_fbc.html.slim @@ -1,9 +1,10 @@ .about-fbc .a-long-text.is-md p - | フィヨルドブートキャンプは、ソフトウェアエンジニアとして就職を - | 目指せるだけのスキルを身につけることを目標とした、 - | オンラインプログラミングスクールです。現場のソフトウェアエンジニアによる、 + | 就職ができるスキルを身につけるのは当然、 + | 卒業をした時点ですでに、「現場にとって、プラスの戦力として数えられる」の実力を + | 身につけることを目標とした、オンラインプログラミングスクールです。 + | 現場のプログラマーによる、 | 徹底的に現場目線にこだわった、 - | 現場のソフトウェアエンジニアが考える、 + | 現場のプログラマーが考える、 | プログラミングスクールの在るべき姿の実現に励んでいます。 diff --git a/app/views/users/form/_profile_job.html.slim b/app/views/users/form/_profile_job.html.slim index 08fb87206d2..cf479f7869c 100644 --- a/app/views/users/form/_profile_job.html.slim +++ b/app/views/users/form/_profile_job.html.slim @@ -1,3 +1,3 @@ .form-item = f.label :profile_job, class: 'a-form-label' - = f.text_field :profile_job, class: 'a-text-input', placeholder: 'プログラマー' + = f.text_field :profile_job, class: 'a-text-input', placeholder: 'エンジニア' diff --git a/app/views/users/form/_profile_text.html.slim b/app/views/users/form/_profile_text.html.slim index 9934fa935e3..0a71d537530 100644 --- a/app/views/users/form/_profile_text.html.slim +++ b/app/views/users/form/_profile_text.html.slim @@ -1,3 +1,3 @@ .form-item = f.label :profile_text, class: 'a-form-label' - = f.text_area :profile_text, class: 'a-text-input is-sm', placeholder: '[株式会社ロッカ](https://lokka.jp)の代表兼プログラマー。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' + = f.text_area :profile_text, class: 'a-text-input is-sm', placeholder: '[株式会社ロッカ](https://lokka.jp)の代表兼エンジニア。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' diff --git a/app/views/welcome/_about.slim b/app/views/welcome/_about.slim index f9171d29002..94aefc5b2a6 100644 --- a/app/views/welcome/_about.slim +++ b/app/views/welcome/_about.slim @@ -6,7 +6,13 @@ section.welcome-section.is-about#about | フィヨルドブートキャンプとは? .welcome-section__description p - | ソフトウェアエンジニアとして就職を目指せるだけのスキルを身につけることを目標としたオンラインプログラミングスクールです。就職を目指せるスキルを弊社では「現場の人間にとって、戦力になるソフトウェアエンジニア」としています。具体的には、一人でWebサービスを作ることをゴールとした課題をやるのですが、それだけでなくチーム開発も経験できます。 + | ソフトウェアエンジニアとして就職ができるスキルを身につけるのは当然、 + | 卒業をした時点ですでに、「現場にとって、プラスの戦力として数えられる」の実力を + | 身につけていることを目標としたオンラインプログラミングスクールです。 + br + | プログラミング未経験からスタートして、 + | HTML、CSS、Linux、Ruby、Rails、JavaScript、実際の仕事と同じ形式でのチーム開発を経て、 + | 最終的に自作サービスを公開するまでのカリキュラムを用意しています。 .welcome-section__actions .welcome-section__actions-items @@ -23,10 +29,10 @@ section.welcome-section.is-about#about .welcome-small-section__inner.a-card = image_tag('programmer.svg', class: 'welcome-small-section__icon') h3.welcome-small-section__title - | 現役プログラマーの
メンター + | 現役エンジニアの
メンター .welcome-small-section__description p - | メンターはアルバイトや講師を専門にしている人ではなく、実際にコードを書くことを仕事にしている現役のプログラマーです。現場目線でのアドバイス、Rubyコミュニティの文化なども伝えていきます。 + | メンターはアルバイトや講師を専門にしている人ではなく、実際にコードを書くことを仕事にしている現役のエンジニアです。現場目線でのアドバイス、Rubyコミュニティの文化なども伝えていきます。 .col-xs-12.col-md-4 section.welcome-small-section diff --git a/app/views/welcome/_cases.slim b/app/views/welcome/_cases.slim index 06c2dcf48c5..e7a16f9a740 100644 --- a/app/views/welcome/_cases.slim +++ b/app/views/welcome/_cases.slim @@ -10,7 +10,8 @@ section.welcome-child-section.is-cases | ソフトウェアエンジニアとして
就職したい .welcome-small-section__description p - | ソフトウェアエンジニアとして就職できるスキルを身に着けたい!スキルだけじゃなく、開発のやり方や業界の情報、ソフトウェアエンジニア友達も欲しい! + | ソフトウェアエンジニアとして就職できるスキルを身に着けたい!スキルだけじゃなく + | 開発のやり方や業界の情報、ソフトウェアエンジニア友達も欲しい! .col-xs-12.col-md-6 section.welcome-small-section .welcome-small-section__inner @@ -18,7 +19,8 @@ section.welcome-child-section.is-cases | 転職したいけど、
その前にスキルを付けたい .welcome-small-section__description p - | うちのやり方ってブログの記事や勉強会で聞いた話と比べて開発方法が古い...今の会社でソフトウェアエンジニアを続けていっていいのだろうか?...転職だ! + | うちのやり方ってブログの記事や勉強会で聞いた話と比べて開発方法が古い... + | 今の会社でソフトウェアエンジニアを続けていっていいのだろうか?...転職だ! .col-xs-12.col-md-6 section.welcome-small-section .welcome-small-section__inner @@ -34,4 +36,5 @@ section.welcome-child-section.is-cases | ソフトウェアエンジニアに
ジョブチェンジしたい .welcome-small-section__description p - | ソフトウェアエンジニアではなく、企画としてITに関わっていたけど、ソフトウェアエンジニアの方が楽しそう!自分もコードを書いてサービスを開発したい! + | ソフトウェアエンジニアではなく、企画としてITに関わっていたけど、 + | ソフトウェアエンジニアの方が楽しそう!自分もコードを書いてサービスを開発したい! diff --git a/app/views/welcome/_faq.slim b/app/views/welcome/_faq.slim index aac78957aa9..a902f42f47c 100644 --- a/app/views/welcome/_faq.slim +++ b/app/views/welcome/_faq.slim @@ -26,7 +26,8 @@ | 短時間でも毎日必ず学習する場合と間が空いてしまう場合など、時間のかけかたにも影響があったりもします。 p | 知的好奇心が求めるままに気になったこともきっちり調べる人は、時間がかかっても、 - | 就職後に仕事やソフトウェアエンジニアコミュニティで大活躍をしているので、卒業までの時間が短ければいいとは考えていません。 + | 就職後に仕事やコミュニティで大活躍をしているので、 + | 卒業までの時間が短ければいいとは考えていません。 p | フィヨルドブートキャンプとしては、卒業までの時間が長くなり過ぎないように、 | 泣く泣くカリキュラムを削ったりなどもしているのですが、 @@ -133,7 +134,9 @@ | 転職は考えていないのですが、スキルアップのためプログラミングの勉強がしたいです。その場合、参加は可能ですか? .faqs-item__body p - | 可能です。フィヨルドブートキャンプは就職できるためのスキルを身につけることを目標にしていますが、 + | 可能です。 + | フィヨルドブートキャンプは就職できるためのスキルを身につけることを + | 一つの目標にしていますが、 | 就職を必ずしなくてはいけないという縛りはありません。 .col-lg-4.col-md-6.col-xs-12 section.faqs-item diff --git a/app/views/welcome/_process.slim b/app/views/welcome/_process.slim index 7904ce19574..b7752fc6d74 100644 --- a/app/views/welcome/_process.slim +++ b/app/views/welcome/_process.slim @@ -18,7 +18,6 @@ section.welcome-section.is-process#process p | フィヨルドブートキャンプオリジナルのオンライン学習アプリに教材(プラクティス)があります。 | 卒業を目指してそれを順に進めていきます。基本的に途中のプラクティスを飛ばしたり、 - | 複数のプラクティスをつまみ食いしながら進めるのは禁止しています。 section.welcome-small-section .welcome-small-section__inner.a-card = image_tag('report.svg', class: 'welcome-small-section__icon') diff --git a/app/views/welcome/_tutorials.slim b/app/views/welcome/_tutorials.slim index b865788aa41..d57c0f74eae 100644 --- a/app/views/welcome/_tutorials.slim +++ b/app/views/welcome/_tutorials.slim @@ -1,9 +1,7 @@ section.welcome-section.is-tutorials#tutorials .container.is-xl h2.welcome-section__title - = image_tag('tutorials-title.svg', alt: '一人でWebサービスを作って公開できることをゴールとしたカリキュラムを用意しています。', class: 'welcome-section__title-image') - h3.welcome-section__sub-title - | 現場でプラスの戦力になることが目標 + | 選べる2つのコース .welcome-section__description p | 最終課題が「自分で考えたWebサービスを作って公開」。それに必要な、サーバの構築からバックエンド、フロントエンドも学べます。それだけでなく、オンライン上での質問の仕方、チーム開発のやり方、ペアプログラミングのやり方、ユーザー目線に立った Web サービスの考え方など、コードを書くこと以外の実践に必要なことも学べます。 diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index e231b76fc1f..0688e144c6d 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -36,25 +36,25 @@ ul.course-selection-nav__items li.course-selection-nav__item = link_to '#rails-programmer-course', class: 'course-selection-nav__item-link' do - | Railsエンジニアコース + | Railsエンジニア li.course-selection-nav__item = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do - | フロントエンドプログラマーコース + | フロントエンドエンジニア .course-selection__items .container.is-xl .row.is-gutter-width-32 .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - - course = Course.find_by(title: 'Railsエンジニア') - - if course - = render('course', course: course) - - else - p コースが見つかりませんでした。 + - course = Course.find_by(title: 'Railsエンジニア') + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course - - course = Course.find_by(title: 'フロントエンドプログラマー') - - if course - = render('course', course: course) - - else - p コースが見つかりませんでした。 + - course = Course.find_by(title: 'フロントエンドエンジニア') + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 diff --git a/app/views/welcome/practices.html.slim b/app/views/welcome/practices.html.slim index cb9c7e1aab1..da6f4c6b3d2 100644 --- a/app/views/welcome/practices.html.slim +++ b/app/views/welcome/practices.html.slim @@ -18,7 +18,7 @@ .course-selection__descritpion .a-short-text p - | Railsプログラマーコースとフロントエンドプログラマーコースの2つのコースがあります。料金はどちらも同じです。 + | Railsエンジニアコースとフロントエンドエンジニアコースの2つのコースがあります。料金はどちらも同じです。 p | どちらのコースも、最初は共通のカリキュラムからスタートし、その後に専門分野に分かれて学んでいきます。最終的には、自分で考えたWebサービスを作ってリリースすることを目指します。また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 @@ -28,24 +28,24 @@ ul.course-selection-nav__items li.course-selection-nav__item = link_to '#rails-programmer-course', class: 'course-selection-nav__item-link' do - | Railsプログラマーコース + | Railsエンジニア li.course-selection-nav__item = link_to '#front-engineer-course', class: 'course-selection-nav__item-link' do - | フロントエンドプログラマーコース + | フロントエンドエンジニア .course-selection__items .container.is-xl .row.is-gutter-width-32 .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - - course = Course.find_by(title: 'Railsプログラマー') + - course = Course.find_by(title: 'Railsエンジニア') - if course = render('course_practices', course: course) - else p コースが見つかりませんでした。 .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course - - course = Course.find_by(title: 'フロントエンドプログラマー') + - course = Course.find_by(title: 'フロントエンドエンジニア') - if course = render('course_practices', course: course) - else diff --git a/app/views/welcome/training.html.slim b/app/views/welcome/training.html.slim index a7fa5a78307..1cac2216f8d 100644 --- a/app/views/welcome/training.html.slim +++ b/app/views/welcome/training.html.slim @@ -22,7 +22,7 @@ | フィヨルドブートキャンプは企業の研修代行も行っております。 p | 私たちのカリキュラムは「ソフトウェアエンジニアとして就職するためのカリキュラム」ではありません。 - | 「現場のプラスの戦力になるためのカリキュラム」です。 + | その先の「現場のプラスの戦力になるためのカリキュラム」です。 | 新人がチームに加わった際、ほとんどの場合は教育にリソースが取られ、 | 戦力としてはマイナスになってしまいます。 p diff --git a/db/fixtures/courses.yml b/db/fixtures/courses.yml index 7e2a3ca2c9d..619fc3ea321 100644 --- a/db/fixtures/courses.yml +++ b/db/fixtures/courses.yml @@ -1,7 +1,7 @@ course1: title: Railsエンジニア description: |- - このコースでは、プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebプログラマーになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。 + このコースでは、プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebエンジニアになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。 ### 主な内容 **Linux** @@ -24,7 +24,7 @@ course1: :::message primary #### バックエンドエンジニアとは - ウェブアプリケーションのサーバーサイドのロジックとデータ管理を担当するプログラマーです。 + ウェブアプリケーションのサーバーサイドのロジックとデータ管理を担当するエンジニアです。 主な仕事はサーバーサイドのビジネスロジックの実装、APIの開発です。 ユーザーが見えない部分で動作する仕組みを設計・実装し、システム全体が円滑に機能するようにします。 ::: @@ -34,16 +34,16 @@ course2: description: "Unity, C#を学んでゲームエンジニアになろう。" course3: - title: iOSプログラマー - description: "iOS, Swiftを学んでiOSプログラマーになろう。" + title: iOSエンジニア + description: "iOS, Swiftを学んでiOSエンジニアになろう。" course4: - title: フロントエンドプログラマー + title: フロントエンドエンジニア description: |- このコースではHTML、CSSやJavaScript/TypeScriptをつかってWebアプリケーションにおいてユーザーが直接触る部分(ユーザーインターフェース)を作るための技術を習得できます。 ### 主な内容 **JavaScript** - フロントエンドプログラマーとして一番重要な言語。基本から非同期処理、ライブラリの作成までしっかり学びます。 + フロントエンドエンジニアとして一番重要な言語。基本から非同期処理、ライブラリの作成までしっかり学びます。 **TypeScript** 現在のフロントエンド開発では欠かせない言語。アプリケーションを作っていく場面では全てこのTypeScriptを使用していきます。 @@ -61,6 +61,6 @@ course4: アイデアから自分で考えたWebサービスをNext.jsを使って作り、デプロイまでして公開します。 :::message primary - #### フロントエンドプログラマーとは - フロントエンドプログラマーとはユーザーが直接触れる部分を設計・開発するプログラマーです。主な仕事はユーザーインターフェース(UI)の設計と実装です。デザイナーが作成したビジュアルデザインを、HTML、CSS、JavaScriptを駆使して再現し、ユーザーが直感的に操作できるインターフェースを構築します。これにより、優れたユーザーエクスペリエンス(UX)を提供することを目指しています。 + #### フロントエンドエンジニアとは + フロントエンドエンジニアとはユーザーが直接触れる部分を設計・開発するエンジニアです。主な仕事はユーザーインターフェース(UI)の設計と実装です。デザイナーが作成したビジュアルデザインを、HTML、CSS、JavaScriptを駆使して再現し、ユーザーが直感的に操作できるインターフェースを構築します。これにより、優れたユーザーエクスペリエンス(UX)を提供することを目指しています。 ::: diff --git a/db/fixtures/users.yml b/db/fixtures/users.yml index 8d1cbd89de8..9f98162982a 100644 --- a/db/fixtures/users.yml +++ b/db/fixtures/users.yml @@ -28,8 +28,8 @@ komagata: created_at: "2014-01-01 00:00:01" last_activity_at: "2014-01-01 00:00:01" profile_name: "駒形 真幸" - profile_job: "プログラマー" - profile_text: "株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。" + profile_job: "エンジニア" + profile_text: "株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。" machida: login_name: machida @@ -173,7 +173,7 @@ mentormentaro: sent_student_followup_message: true last_activity_at: "2014-01-01 00:00:06" profile_name: "メンタ 麺太郎" - profile_job: "プログラマー" + profile_job: "エンジニア" profile_text: "メンタ麺太郎です。メンターです。" kimura: @@ -863,7 +863,7 @@ unadmentor: sent_student_followup_message: true last_activity_at: "2021-11-01 00:00:02" profile_name: "ウナ アドメン" - profile_job: "プログラマー" + profile_job: "エンジニア" profile_text: "管理者権限の無いメンターです。" tatenoicon: # アイコンが長方形のユーザー diff --git a/test/fixtures/courses.yml b/test/fixtures/courses.yml index 676c971d7cc..820e47f70cd 100644 --- a/test/fixtures/courses.yml +++ b/test/fixtures/courses.yml @@ -1,15 +1,19 @@ course1: title: Railsエンジニア +<<<<<<< HEAD description: "Linux, Web, Ruby, Railsなどを学んでRailsエンジニアになろう。" +======= + description: "Linux, Web, Ruby, Railsなどを学んでWebエンジニアになろう。" +>>>>>>> 7978661f3 (プログラマーをエンジニアに変更した) course2: title: Unityゲームエンジニア description: "Unity, C#を学んでゲームエンジニアになろう。" course3: - title: iOSプログラマー - description: "iOS, Swiftを学んでiOSプログラマーになろう。" + title: iOSエンジニア + description: "iOS, Swiftを学んでiOSエンジニアになろう。" course4: - title: フロントエンドプログラマー - description: "JavaScriptやTypeScriptなどを学んでフロントエンドプログラマーになろう。" + title: フロントエンドエンジニア + description: "JavaScriptやTypeScriptなどを学んでフロントエンドエンジニアになろう。" diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 059e7e6a443..ea3075c80b6 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -32,8 +32,8 @@ komagata: last_activity_at: "2014-01-01 00:00:01" hide_mentor_profile: false profile_name: "駒形 真幸" - profile_job: "プログラマー" - profile_text: "株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。" + profile_job: "エンジニア" + profile_text: "株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。" machida: login_name: machida @@ -720,7 +720,7 @@ kimuramitai: created_at: "2022-03-28 00:00:01" last_activity_at: "2022-03-28 00:00:01" profile_name: "キムラ ミタイ" - profile_job: "プログラマー" + profile_job: "エンジニア" profile_text: "木村さんに似ているとよく言われます。" sent_student_followup_message: true diff --git a/test/system/admin/users_test.rb b/test/system/admin/users_test.rb index 944c51bff95..b72f1a0bd6c 100644 --- a/test/system/admin/users_test.rb +++ b/test/system/admin/users_test.rb @@ -311,10 +311,10 @@ class Admin::UsersTest < ApplicationSystemTestCase user = users(:kensyu) visit_with_auth "/admin/users/#{user.id}/edit", 'machida' within 'form[name=user]' do - select 'iOSプログラマー', from: 'user[course_id]' + select 'iOSエンジニア', from: 'user[course_id]' end click_on '更新する' - assert_equal 'iOSプログラマー', user.reload.course.title + assert_equal 'iOSエンジニア', user.reload.course.title end test 'general user cannot change user course' do diff --git a/test/system/home_test.rb b/test/system/home_test.rb index fed8a3e64de..35f7e1d0a16 100644 --- a/test/system/home_test.rb +++ b/test/system/home_test.rb @@ -553,7 +553,7 @@ def assert_events_count(event_label, count) test 'toggles_mentor_profile_visibility' do visit '/' assert_text '駒形 真幸' - assert_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' visit_with_auth edit_current_user_path, 'komagata' check 'プロフィール非公開', allow_label_click: true click_on '更新する' @@ -561,6 +561,6 @@ def assert_events_count(event_label, count) logout visit '/' assert_no_text '駒形 真幸' - assert_no_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_no_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' end end diff --git a/test/system/welcome_test.rb b/test/system/welcome_test.rb index 922284a226f..4482edc7111 100644 --- a/test/system/welcome_test.rb +++ b/test/system/welcome_test.rb @@ -84,8 +84,8 @@ class WelcomeTest < ApplicationSystemTestCase visit_with_auth '/current_user/edit', 'komagata' attach_file 'user[profile_image]', Rails.root.join('test/fixtures/files/users/avatars/komagata.jpg'), make_visible: true fill_in 'user[profile_name]', with: '駒形 真幸' - fill_in 'user[profile_job]', with: 'プログラマー' - fill_in 'user[profile_text]', with: '[株式会社ロッカ](https://lokka.jp)の代表兼プログラマー。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' + fill_in 'user[profile_job]', with: 'エンジニア' + fill_in 'user[profile_text]', with: '[株式会社ロッカ](https://lokka.jp)の代表兼エンジニア。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' click_on '書籍を追加' find("input[name*='[title]']").set('プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで') find("input[name*='[url]']").set('https://www.amazon.co.jp/dp/B09MPX7SMY') @@ -95,8 +95,8 @@ class WelcomeTest < ApplicationSystemTestCase visit '/welcome' assert_selector 'img[src*="komagata.jpg"]' assert_text '駒形 真幸' - assert_text 'プログラマー' - assert_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_text 'エンジニア' + assert_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' assert_selector 'img[src*="cherry-book.jpg"]' end @@ -105,8 +105,8 @@ class WelcomeTest < ApplicationSystemTestCase visit_with_auth "/admin/users/#{user.id}/edit", 'komagata' attach_file 'user[profile_image]', Rails.root.join('test/fixtures/files/users/avatars/komagata.jpg'), make_visible: true fill_in 'user[profile_name]', with: '駒形 真幸' - fill_in 'user[profile_job]', with: 'プログラマー' - fill_in 'user[profile_text]', with: '[株式会社ロッカ](https://lokka.jp)の代表兼プログラマー。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' + fill_in 'user[profile_job]', with: 'エンジニア' + fill_in 'user[profile_text]', with: '[株式会社ロッカ](https://lokka.jp)の代表兼エンジニア。Rubyが大好きで[怖話](https://kowabana.jp)、[フィヨルドブートキャンプ](https://bootcamp.fjord.jp)などを開発している。' click_on '書籍を追加' find("input[name*='[title]']").set('プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで') find("input[name*='[url]']").set('https://www.amazon.co.jp/dp/B09MPX7SMY') @@ -116,15 +116,15 @@ class WelcomeTest < ApplicationSystemTestCase visit '/welcome' assert_selector 'img[src*="komagata.jpg"]' assert_text '駒形 真幸' - assert_text 'プログラマー' - assert_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_text 'エンジニア' + assert_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' assert_selector 'img[src*="cherry-book.jpg"]' end test 'toggles_mentor_profile_visibility' do visit '/welcome' assert_text '駒形 真幸' - assert_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' visit_with_auth edit_current_user_path, 'komagata' check 'プロフィール非公開', allow_label_click: true click_on '更新する' @@ -132,9 +132,9 @@ class WelcomeTest < ApplicationSystemTestCase logout visit '/welcome' assert_no_text '駒形 真幸' - assert_no_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_no_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' visit_with_auth '/welcome', 'kimura' assert_text '駒形 真幸' - assert_text '株式会社ロッカの代表兼プログラマー。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' + assert_text '株式会社ロッカの代表兼エンジニア。Rubyが大好きで怖話、フィヨルドブートキャンプなどを開発している。' end end From c8ff4793b54ec177d991bea83e9d5c78bf53767a Mon Sep 17 00:00:00 2001 From: machida Date: Sat, 22 Jun 2024 10:41:54 +0900 Subject: [PATCH 31/36] =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=87=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=81=AE=E3=83=9F=E3=82=B9=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/welcome/courses.html.slim | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 0688e144c6d..2b739b4a4cc 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -46,15 +46,15 @@ .row.is-gutter-width-32 .col-md-6.col-xs-12 .course-selection-item-anchor#rails-programmer-course - - course = Course.find_by(title: 'Railsエンジニア') - - if course - = render('course', course: course) - - else - p コースが見つかりませんでした。 + - course = Course.find_by(title: 'Railsエンジニア') + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 .col-md-6.col-xs-12 .course-selection-item-anchor#front-engineer-course - - course = Course.find_by(title: 'フロントエンドエンジニア') - - if course - = render('course', course: course) - - else - p コースが見つかりませんでした。 + - course = Course.find_by(title: 'フロントエンドエンジニア') + - if course + = render('course', course: course) + - else + p コースが見つかりませんでした。 From 89083bc72f34692b7159e43511b40bf0099d5092 Mon Sep 17 00:00:00 2001 From: machida Date: Mon, 24 Jun 2024 14:25:24 +0900 Subject: [PATCH 32/36] =?UTF-8?q?=E3=83=88=E3=83=83=E3=83=97=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=81=AB=E3=82=B3=E3=83=BC=E3=82=B9=E3=81=AE?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/images/courses/nextjs.svg | 33 ++++++++++ app/assets/images/courses/rails.svg | 20 ++++++ .../welcome/_welcome-small-sections.sass | 9 +++ app/views/welcome/_tutorials.slim | 65 ++++++------------- app/views/welcome/courses.html.slim | 2 +- 5 files changed, 84 insertions(+), 45 deletions(-) create mode 100644 app/assets/images/courses/nextjs.svg create mode 100644 app/assets/images/courses/rails.svg diff --git a/app/assets/images/courses/nextjs.svg b/app/assets/images/courses/nextjs.svg new file mode 100644 index 00000000000..f6ff8b48a94 --- /dev/null +++ b/app/assets/images/courses/nextjs.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/assets/images/courses/rails.svg b/app/assets/images/courses/rails.svg new file mode 100644 index 00000000000..77ba3c45b94 --- /dev/null +++ b/app/assets/images/courses/rails.svg @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/app/javascript/stylesheets/welcome/_welcome-small-sections.sass b/app/javascript/stylesheets/welcome/_welcome-small-sections.sass index cd9bddb0478..a4100112584 100644 --- a/app/javascript/stylesheets/welcome/_welcome-small-sections.sass +++ b/app/javascript/stylesheets/welcome/_welcome-small-sections.sass @@ -162,3 +162,12 @@ aspect-ratio: 5 / 3 +media-breakpoint-down(sm) aspect-ratio: 3 / 4 + +.welcome-small-section__float-image + float: left + border-radius: .25rem + margin-right: 1rem + +media-breakpoint-up(md) + width: 6.75rem + +media-breakpoint-down(sm) + width: 4rem diff --git a/app/views/welcome/_tutorials.slim b/app/views/welcome/_tutorials.slim index d57c0f74eae..c7d52024006 100644 --- a/app/views/welcome/_tutorials.slim +++ b/app/views/welcome/_tutorials.slim @@ -4,59 +4,36 @@ section.welcome-section.is-tutorials#tutorials | 選べる2つのコース .welcome-section__description p - | 最終課題が「自分で考えたWebサービスを作って公開」。それに必要な、サーバの構築からバックエンド、フロントエンドも学べます。それだけでなく、オンライン上での質問の仕方、チーム開発のやり方、ペアプログラミングのやり方、ユーザー目線に立った Web サービスの考え方など、コードを書くこと以外の実践に必要なことも学べます。 + | 「Railsエンジニアコース」と「フロントエンドエンジニアコース」の2つのコースがあります。 + | 最初は共通のカリキュラムからスタートし、その後に専門分野に分かれて学んでいきます。 + | どちらのコースも最終的には、自分で考えたWebサービスを作ってリリースすることを目指します。 + | また、どちらもチーム開発を体験できるので、実践的なスキルが身につきます。 + br + | コース選びに迷ったら、まずはRailsエンジニアコースを選んでみてください。入会後はメンターに相談ができるので、その時にしっかり考えましょう。途中でのコースの変更、卒業後に別コースの必要なカリキュラムだけを受講することも可能です。 + section.welcome-child-section.is-tutorials .welcome-small-sections .row.is-gutter-width-24.welcome-small-sections__row - .col-xs-6.col-md-3 + .col-xs-12.col-md-6 section.welcome-small-section .welcome-small-section__inner.a-card - = image_tag('mac.svg', class: 'welcome-small-section__icon') h3.welcome-small-section__title - | Macの基本 - .col-xs-6.col-md-3 + | Railsエンジニアコース + .welcome-small-section__description + = image_tag('courses/rails.svg', class: 'welcome-small-section__float-image', alt: 'Ruby on Railsのロゴ') + p + | プログラミング言語「Ruby」を用いたWebアプリケーションフレームワークであるRails(Ruby on Rails)を使ってWebエンジニアになるためのバックエンド・フロントエンドも含めた一通りの技術を学びます。 + .col-xs-12.col-md-6 section.welcome-small-section .welcome-small-section__inner.a-card - = image_tag('html.svg', class: 'welcome-small-section__icon') h3.welcome-small-section__title - | HTML - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('css.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | CSS - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('linux.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | Linux - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('ruby.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | Ruby - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('git.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | Git - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('rails.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | Ruby on Rails - .col-xs-6.col-md-3 - section.welcome-small-section - .welcome-small-section__inner.a-card - = image_tag('js.svg', class: 'welcome-small-section__icon') - h3.welcome-small-section__title - | JavaScript + | フロントエンドエンジニアコース + .welcome-small-section__description + = image_tag('courses/nextjs.svg', class: 'welcome-small-section__float-image', alt: 'Ruby on Railsのロゴ') + p + | HTML、CSS やJavaScript/TypeScriptをつかってWebアプリケーションにおいてユーザーが直接触る部分(ユーザーインターフェース)を作るための技術を習得できます。 + .welcome-section__actions .welcome-section__actions-items .welcome-section__actions-item - = link_to '学習内容一覧', practices_path, class: 'a-welcome-button is-md' + = link_to 'コース内容を確認する', practices_path, class: 'a-welcome-button is-md' diff --git a/app/views/welcome/courses.html.slim b/app/views/welcome/courses.html.slim index 2b739b4a4cc..e6e7460f64a 100644 --- a/app/views/welcome/courses.html.slim +++ b/app/views/welcome/courses.html.slim @@ -25,7 +25,7 @@ | どちらのコースも、最初は共通のカリキュラムからスタートし、 | その後に専門分野に分かれて学んでいきます。最終的には、 | 自分で考えたWebサービスを作ってリリースすることを目指します。 - |また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 + | また、どちらのコースでもチーム開発を体験できるので、実践的なスキルが身につきます。 p | コース選びに迷ったら、まずはRailsエンジニアコースを選んでみてください。 | 入会後はメンターに相談ができるので、その時にしっかり考えましょう。 From a1983d0c9d3bed9315958da12bc0b2d1f43d7005 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 27 Jun 2024 12:04:07 +0900 Subject: [PATCH 33/36] =?UTF-8?q?=E3=82=B3=E3=83=B3=E3=83=95=E3=83=AA?= =?UTF-8?q?=E3=82=AF=E3=83=88=E8=A7=A3=E6=B6=88=E3=83=9F=E3=82=B9=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/fixtures/courses.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/test/fixtures/courses.yml b/test/fixtures/courses.yml index 820e47f70cd..19d9c307c71 100644 --- a/test/fixtures/courses.yml +++ b/test/fixtures/courses.yml @@ -1,10 +1,6 @@ course1: title: Railsエンジニア -<<<<<<< HEAD description: "Linux, Web, Ruby, Railsなどを学んでRailsエンジニアになろう。" -======= - description: "Linux, Web, Ruby, Railsなどを学んでWebエンジニアになろう。" ->>>>>>> 7978661f3 (プログラマーをエンジニアに変更した) course2: title: Unityゲームエンジニア From 3ff1a763b7e0312fb6a10334ff9010d9f9dab509 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 27 Jun 2024 13:38:47 +0900 Subject: [PATCH 34/36] =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=82=B9=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=81=AE=E9=9A=9B=E3=81=AE=E3=83=A1=E3=83=83=E3=82=BB?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../users/form/_course_selection.html.slim | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/app/views/users/form/_course_selection.html.slim b/app/views/users/form/_course_selection.html.slim index e2d3b5f396c..468d52532ff 100644 --- a/app/views/users/form/_course_selection.html.slim +++ b/app/views/users/form/_course_selection.html.slim @@ -3,11 +3,20 @@ label.a-block-check__label.is-ta-left(for="course_#{course.id}") span.a-block-check__name | #{course.title}コース -.form-actions - ul.form-actions__items - li.form-actions__item.is-main - label.a-button.is-md.is-secondary.is-block(for='modal-course-description') - | コースの内容を確認する - li.form-actions__item.is-main - = link_to courses_path, class: 'a-button is-md is-secondary is-block' do - | コースを選択し直す +- if current_user + .form-actions + .a-short-text.is-sm + p + | コースの移行を希望される場合やご相談がある場合は、 + = link_to talk_path(current_user.talk, anchor: 'latest-comment') do + | 相談部屋にてお知らせください + | 。 +- else + .form-actions + ul.form-actions__items + li.form-actions__item.is-main + label.a-button.is-md.is-secondary.is-block(for='modal-course-description') + | コースの内容を確認する + li.form-actions__item.is-main + = link_to courses_path, class: 'a-button is-md is-secondary is-block' do + | コースを選択し直す From 83aa8127b7f64679e65b051d26d457749aa7ff14 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 27 Jun 2024 13:50:26 +0900 Subject: [PATCH 35/36] =?UTF-8?q?=E3=83=95=E3=82=A9=E3=83=BC=E3=83=A0?= =?UTF-8?q?=E5=86=85=E3=81=AE=E3=82=AD=E3=83=A3=E3=83=B3=E3=83=9A=E3=83=BC?= =?UTF-8?q?=E3=83=B3=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF=E3=83=9C=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=82=B9=E8=A1=A8=E7=A4=BA=E3=81=AE=E3=83=AA=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=AF=E3=82=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/users/_checked_campaign.html.slim | 31 ++++++++++----------- app/views/users/_form.html.slim | 3 ++ app/views/users/new.html.slim | 2 -- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/views/users/_checked_campaign.html.slim b/app/views/users/_checked_campaign.html.slim index 1cd4beccec7..dde6fb04298 100644 --- a/app/views/users/_checked_campaign.html.slim +++ b/app/views/users/_checked_campaign.html.slim @@ -1,16 +1,15 @@ -.form - .form__items - .form-item - .block-checks.is-1-item - .block-checks__item - .a-block-check.is-checkbox.is-dammy - input.a-toggle-checkbox(type='radio' checked='checked') - .a-block-check__label.is-ta-left - | キャンペーン適用 - .a-form-help - p - | #{Campaign.current_title} のお試し期間延長が適用され、 - em - | 通常 3日間 のお試し期間が #{Campaign.current_trial_period}日間  - | になります。 - .form-item +.form__items + .form-item + .block-checks.is-1-item + .block-checks__item + .a-block-check.is-checkbox.is-dammy + input.a-toggle-checkbox(type='radio' checked='checked') + .a-block-check__label.is-ta-left + | キャンペーン適用 + .a-form-help + p + | #{Campaign.current_title} のお試し期間延長が適用され、 + em + | 通常 3日間 のお試し期間が #{Campaign.current_trial_period}日間  + | になります。 + hr.a-border.mb-8 diff --git a/app/views/users/_form.html.slim b/app/views/users/_form.html.slim index c5c5be71e55..bddcad33464 100644 --- a/app/views/users/_form.html.slim +++ b/app/views/users/_form.html.slim @@ -7,9 +7,12 @@ = f.hidden_field :course_id = hidden_field_tag :idempotency_token, SecureRandom.uuid = render 'errors', object: user + - if !current_user && !@user.adviser? && !@user.trainee? && Campaign.today_campaign? + = render 'checked_campaign' .form__items - if !@user.adviser? = render 'users/form/course_select', f: f + .form__items = render 'users/form/login_name', f: f = render 'users/form/email', f: f, user: user - if from == :edit diff --git a/app/views/users/new.html.slim b/app/views/users/new.html.slim index 4765bf1ad8e..87c3a2ca223 100644 --- a/app/views/users/new.html.slim +++ b/app/views/users/new.html.slim @@ -21,8 +21,6 @@ = link_to new_corporate_training_inquiry_path do | こちらの企業研修申し込みフォーム | からお申し込みください。 - - if !@user.adviser? && Campaign.today_campaign? - = render 'checked_campaign' = render 'form', from: :new, url: users_path, user: @user hr.a-border-tint footer.auth-form__footer From 56a3704555efa46f75f676261617cf28f4cc3c34 Mon Sep 17 00:00:00 2001 From: machida Date: Thu, 27 Jun 2024 14:10:28 +0900 Subject: [PATCH 36/36] =?UTF-8?q?=E3=82=AD=E3=83=A3=E3=83=B3=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=B3=E9=81=A9=E7=94=A8=E8=A1=A8=E7=A4=BA=E3=81=AE?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E3=81=AE=E5=A4=89=E6=9B=B4=E3=81=AB=E4=BC=B4?= =?UTF-8?q?=E3=81=86test=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/system/admin/campaigns_test.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/test/system/admin/campaigns_test.rb b/test/system/admin/campaigns_test.rb index 5b073a28908..27bd5eea80a 100644 --- a/test/system/admin/campaigns_test.rb +++ b/test/system/admin/campaigns_test.rb @@ -163,6 +163,7 @@ class CampaignsTest < ApplicationSystemTestCase assert_text "#{example_start_at} #{example_end_at} #{example_pay_at}" end + logout visit new_user_path assert_text 'キャンペーン適用' assert_text 'お試し期間が倍以上の延長キャンペーン!!! のお試し期間延長が適用され、'