Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ランサーズを支える管理画面
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
manamin0521
October 02, 2018
Programming
4.7k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ランサーズを支える管理画面
管理画面チラ見せナイト #7に登壇した際の資料です。
manamin0521
October 02, 2018
More Decks by manamin0521
See All by manamin0521
Rails歴2年(🐥)の私が Cakeを半年触って学んだこと
manamin0521
1
1.1k
Other Decks in Programming
See All in Programming
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
14
11k
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
340
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
500
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
280
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.8k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.4k
Snowflake Openflow Connector利用の勘所 / 20261024developersio2026tokyo-snowflake-openflow
kasacchiful
PRO
0
270
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
110
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
340
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
320
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
130
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
6.2k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
610
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.2k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
540
Crafting Experiences
bethany
1
410
KATA
mclloyd
PRO
35
16k
Odyssey Design
rkendrick25
PRO
2
910
YesSQL, Process and Tooling at Scale
rocio
174
15k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
What's in a price? How to price your products and services
michaelherold
247
13k
Speed Design
sergeychernyshev
33
2.2k
Transcript
ランサーズを支える 管理画面 管理画面チラ見せ♡ナイト #7 チラッ♡ ランサーズ株式会社 松原愛美
自己紹介 ランサーズ株式会社1年目 開発部 CREチーム 松原愛美 普段の業務 管理画面の機能やUIの改善 CakePHP2.8バージョンアップ サービス保守開発 @manamin0521m
ランサーズとは
ランサーズとは
クラウドソーシングのプラットホーム 仕事受注者= ランサー 仕事依頼者= クライアント マッチング 安心・安全
お仕事の流れ 依 頼 を 立 て る 提 案 承
認 ・ 仮 入 金 仕 事 開 始 選定
お仕事の流れ 仕 事 完 了 報 告 承 認 相
互 評 価 仕 事 完 了 振込
今日のテーマ 1、最近会計の管理画面を作った話 2、安全な運営を支える管理画面 3、管理画面のUI改善
1. 最近会計の管理画面を作った話
誰が使う画面?? ・カスタマーケア (=カスタマーサポート) ・経理
カスタマーケアの業務のうち ・お問い合わせ対応 ・監視業務 ・サービス運営
この部分の裏側について 依 頼 を 立 て る 提 案 承
認 ・ 仮 入 金 仕 事 開 始 充当 先払い
この管理画面で行うこと (実際に振り込まれた) 銀行の入金データ クライアントが 入力した 振込申請データ 一致することを確認(=充当)
以前までの運用の流れ 振込用データとエクセルの入金データを二画面見比べて手作業で運用
振込データ 入金データ ※前まで PC1 PC2
課題 ・カスタマーケア 間違えたりつけ忘れて金額が合わなくなる可能性がある (※経理とのダブルチェックで防いでいます) ・エンジニア 入金データ(Excel)と振込用データ(DB)を紐付けできない SQLで集計できない
1対nの手間 一つの入金に対し、 複数の依頼の振込 データがある場合、 一つ一つ書く必要が あった
新管理画面をチラ見せ❤
①入金データをインポート
入金データ ②該当の入金データを 選ぶと…?
入金データ ③振込データの中から 金額が同じものを 読み込んで表示
入金データ 振込データ ④同じものを選択
入金データ 振込データ ⑤一致するものを 充当
⑥経理がチェック(監査)
⑦レポートが ダウンロード できるようになる
Before 入金 案件 金額チェック 会計仕訳 Before スプレット シート 管理画面 目視
気合い
After 入金 案件 金額チェック 会計仕訳 Before スプレット シート 管理画面 目視
気合い After 管理画面 管理画面 システム SQL→CSV (自動)
喜びの声 日々の作業時間が3分の1に! (1時間→20分!) 間違いがあるかもしれないといった 心理的不安感が取り払われた。 カスタマーケア
2. 安全な運営を支える管理画面
誰が使う画面?? カスタマーケア (=カスタマーサポート)
カスタマーケアの業務のうち ・お問い合わせ対応 ・監視業務 ・サービス運営
サービスの安全を脅かすもの⚠ ・利用規約違反の恐れがある依頼 ・利用規約違反の恐れがあるメッセージ
サービスの安全を脅かすもの⚠ ・利用規約違反の恐れがある依頼 ・利用規約違反の恐れがあるメッセージ
違反内容
利用規約違反の恐れがある依頼への対応 依 頼 を 投 稿 す る 依 頼
一 時 非 公 開 N G 候 補 依 頼 非 公 開 利用規約違反を検出 違 反 確 定 ユ | ザ | 退 会 措 置
管理画面をチラ見せ❤
条件に一致すれば NG候補に表示
依頼非公開 依頼者にメール通知
バッチ→即時非公開 ・以前までは、依頼が公開されたままバッチ処理で検出 →検出されるまでに時差があり、その間に多くの人が 閲覧してしまうために、レピュテーションリスクがある ・24時間対応により公開されない期間を短くし、機会損出を防ぐ
サービスの安全を脅かすもの⚠ ・利用規約違反の恐れがある依頼 ・利用規約違反の恐れがあるメッセージ
利用規約違反の恐れがあるメッセージへの対応 ス パ ム が 送 ら れ る 検
知 ス パ ム 一 覧 依 頼 削 除 通 報 メ ッ セ | ジ 非 公 開 ユ | ザ | 退 会 措 置 違 反 確 定
スパムに怪しいものを検知すれば、 スパム一覧に表示(機械学習) 技術ブログ Lancers社におけるスパムメッセージに対する取り組み https://engineer.blog.lancers.jp/2017/12/spam_project/
3. 管理画面のUI改善
様々な管理画面を修正してきた話 5社ほど長期インターン 比較的新しめの会社が多かった ランサーズ 創業して10年、、、
様々な管理画面を修正してきた話 5社ほど長期インターン 比較的新しめの会社が多かった ランサーズ 創業して10年、、、 →盛り盛りで二郎状態
なぜ管理画面が乱れるのか ・決まりがない中、複数人のエンジニアが都度修正 →いろんなレイアウトが入り混じる ・管理画面の性質上、デザイナーが携わらず →CSSの書き方が統一されず ・工数が割けない →年数が経つごとに現場の用途と離れていく
Before・Afterをチラ見せ❤
旧:Before _人人人人人人人人_ > 突き抜けるtable <  ̄Y^Y^Y^Y^Y^Y^Y^ ̄
旧:After スッキリ
新:Before ページ毎の バラバラ感
新:After 統一して スッキリ
工数少なめにカイゼン
①使われていないものを削除 導線を考え移動 使われていないので一覧から削除
削除の方法 ・一番使用しているカスタマーケアにヒアリングして削除 ・アクセスログを調べて他に使用している人を把握 ・一旦消してみて、不具合があったら元に戻すことにする ※一覧からは消しても詳細画面には表示していました
②まとめる 用途別 長さを取っていたので hoverに Before Before
③CSSの決まりを作る style埋め込み 数行の小さい複数cssファイル 統一CSSファイル ※bootstrapと併用中 全体用CSS どこに何があるかわからず 共存 リファクタ ・id→class
・HTML要素→class ・!importantの削除
④UIの統一 タイトルサイズ テーブルUI 余 白 の 量 ボタンサイズ
古めの管理画面を運用していくポイント ・現場の用途に合わせて、数年に一度はUIメンテしたい →いらないものは消す →運用が変われば移動する →増えてきたらまとめる
新しく管理画面を作る時のポイント ・先にCSSの規則を決めておく 管理画面といえども後々で全画面変えるのは大変、、、 (特に新画面の場合、コンフリクトが起きやすい) ・レイアウトの外枠だけでも(一緒に)決める 主なレイアウトを、使いやすさの観点からもデザイナーレビューしてもらう ページ作る毎にレイアウトに悩まなくて済むので効率もよい
当たり前だけど大事なこと!
エンジニア、デザイナー、ディレクター募集中!!