1. 業務線①:基幹人事・給与・入社管理システム群(8案件)

1.1 プロジェクト名:E入職(E-Register)

紹介

SaaSシステム「E入職」は、企業と入社予定者に便利で効率的な入社手続きフローを提供します。インテリジェント技術を活用し、人事(HR)はワンクリックで履歴書をインポートし自動解析できます。入社招待の送信後、従業員側はすべてモバイル端末で手続きを完結でき、ワンストップで入社手続きが完了します。人事も常に手続きの進捗を把握でき、事前に受け入れ準備を行うことができます。

完全な入社手続きフロー

完全な入社手続きフローは以下のステップを含みます:
① 企業ユーザーログイン
② 企業情報および各手続きガイドの初期化
③ 入社情報テンプレートの設定
④ 入社予定者リストの追加
⑤ 入社手続きの開始
⑥ 従業員による入社資料の提出
⑦ 人事による書類審査、出社通知の送信
⑧ 従業員の入社手続き完了
⑨ システムによる入社確認、従業員情報を人事システムへ同期。

プロジェクトの個人視点での説明

本プロジェクトの中核は「入社情報入力フォーム」のプロセスです。そのため、すべてのフォーム項目は、顧客企業が入社タイプや勤務地などの違いに応じてカスタマイズ設定できます。つまり「入社情報フォームモジュール」において、すべての入力項目はカスタムタイプ(テキストボックス、セレクトボックス、画像)およびカスタム順序に対応しています。異なるフォーム項目間で複雑な連動が可能であり、例えば、セレクトボックスの選択によって別モジュールの表示を制御したり、複数の項目条件を設定して複雑な連動制御を行うことができます。

プロジェクト使用技術 (プロジェクト使用技術)

プロジェクトはPC管理画面とモバイルH5画面に分かれています。

フロントエンド:PC画面、モバイル画面
  • “node”: “>= 6.0.0”,
  • “npm”: “>= 3.0.0”
  • “vue”: “^2.5.2”,
  • “element-ui”: “^2.15.13”
バックエンド
  • org.springframework.boot:spring-boot-starter-web:2.2.10.RELEASE
  • com.alibaba:fastjson:1.2.83
  • com.belerweb:pinyin4j:2.5.0
  • redis.clients:jedis:3.1.0
  • com.twelvemonkeys.imageio:imageio-jpeg:3.10.1
サーバー&データベース

MongoDB、Redis

担当役割

本プロジェクトのフロントエンドおよびバックエンドの保守、新規機能開発、テスト(開発者単体テスト)、業務ロジックの調査、および業務担当者からの問い合わせに対する調査・運用対応を担当しました。

業務のハイライト

複雑な業務ロジックを伴うシステムの二次開発。

システムの二次開発かつコア機能であるため、入社フローにおける既存データの各種ステータスを保持する必要がありました。業務ロジックの漏れを防ぐため、システム全体のコードを読解してすべての業務要件を把握した上で、ユーザーデータの移行を実施しました。

対象となるフィールド数が膨大であることが課題でした。まずプログラムで同名フィールドを自動マッピングして画面に表示し、ユーザーが確認できるようにしました。さらに、自動マッピング結果に対する削除・修正機能や、ユーザーが独自に設定できる手動マッピング機能も提供しました。

すべてのフォーム項目とマッピング条件は画面上で設定(可視化設定)可能です。多層ネストされたSelect項目のフィールド連動マッピングを実装しました。第2階層のSelectオプションやテキストボックスの条件に基づき、特定のフォーム項目の表示・非表示を制御しました(最大3階層のネスト)。

複雑なデータバリデーション(検証)要件への対応。ネストされた連動フォームの検証において、選択されたオプションに応じて特定のフィールドを必須項目とするなどの制御を行いました。また、既存フォームの関連ロジックに基づくデータ互換性処理も実装しました。

1.2 プロジェクト名:薪云給与明細(PayRoll-xinyun)

紹介

テンセント(Tencent)給与支給システム。企業ユーザー向けに開発された成熟した企業デジタル管理システムです。外部向けに提供されており、企業微信(WeChat Work)に組み込まれ、その有料機能として企業に利用されています。

人事アシスタントの給与明細機能を利用し、ワンクリックで給与データを配信できます。従業員はオンラインで直接給与を確認し、オンライン署名が可能です。管理者は従業員の確認状況をリアルタイムで把握し、確認の催促、送信取り消しと再編集、履歴のエクスポートとアーカイブ保存が可能です。

表計算データによる従業員データのインポートに対応し、自動での税金控除、公積金(積立金)控除、経費精算の控除計算を行います。差引支給額(手取り)、控除額、税引後控除のデータを表示します。(詳細な表はスクリーンショットを参照)

システムは休暇管理システムとデータ連携を行っており、社内で従業員の個人休暇や法定休日の給与計算を行うために呼び出されます。

会社外部向け

企業微信の外部公開用説明ドキュメント

https://open.work.weixin.qq.com/help2/pc/20145

プロジェクトの個人視点での説明

バックエンドは.NETを使用し、フロントエンドとバックエンドが分離されたプロジェクトです。フロントエンドはモバイル画面、PC画面、管理画面を含みます。企業の給与支給に必要な全機能を提供しており、主要モジュールは給与支給、給与確認、メール送信システムです。システムの権限管理はボタン単位で制御されています。

テンセント社内でもこのシステムを利用して給与関連の業務を行っています。社内要件を満たすためのカスタマイズ開発も行われており、特定の識別フィールド(フラグ)によって外部企業用と自社用の機能呼び出しロジックを切り分けています。

プロジェクト使用技術

フロントエンドとバックエンドの分離

フロントエンド(PC画面、モバイル画面)
  • “@tencent/sdc-core”: “^1.0.4”,
  • “@tencent/sdc-theme”: “^1.0.2”,
  • “@tencent/sdc-webui”: “^1.0.8”,
  • “@vant/touch-emulator”: “^1.3.0”,
  • “axios”: “^0.18.0”,
  • “echarts”: “^5.0.1”,
  • “element-ui”: “^2.12.0”,
  • “vant”: “^2.6.2”,
  • “vue”: “^2.5.11”,
  • “vue-i18n”: “^8.22.3”
  • “sass-loader”: “^6.0.7”,

@tencent プレフィックスのNpmパッケージは、自社開発のUIコンポーネントライブラリ、およびログイン、APIゲートウェイなど社内権限検証やデータ連携用のコンポーネントライブラリです。

バックエンド

.NET

プロジェクトでの役割

フロントエンド開発を担当。システムの保守、新規要件の実装、およびシステム調査(トラブルシューティング等)のサポートを行いました。

業務のハイライト

【企業微信(WeChat Work)版】モバイル従業員ポータルにおいて、製品機能のデモ(給与明細、入社管理、アドレス帳、目標管理など)を追加しました

製品機能のデモンストレーション、および初回利用ユーザー向けの機能ガイド(チュートリアル)を実装しました。

1.3 プロジェクト名:E計画(E-Project)

紹介

テンセント(Tencent)の従業員、幹部、および組織図を管理するプロジェクトです。テンセント人事プラットフォーム(https://hr.woa.com)の一部として、人事(HR)部門が全社の従業員管理を行うための、基盤(インフラ)レベルの人事管理システムです。>

きめ細かい(細粒度の)組織図および人事管理機能を提供します。例えば、組織改編に伴う、該当従業員の新組織へのデータ移行処理などを行います。

社内の通達(公式発表)システムと連携し、管理職の異動、組織全体の改編(プロジェクトチームの上長変更など)、役職変更などを社内向けに公示(リリース)する機能を実装しました。

全社向けの組織データAPI(外部インターフェース)を提供しています。テンセント社内で組織情報に関わる全データは本システムから取得されており、例えば各プロジェクトで使われる組織図の選択コンポーネントなどもこれに該当します。

プロジェクトの個人視点での説明

従業員向けの福利厚生プロジェクトです。

LINEミニアプリに類似した技術を用いて開発し、中国版LINEのスマートフォンアプリ(WeChatなど)経由でアクセス・利用する仕組みです。すでに安定稼働しているシステムであったため、新規開発の要件は少なく、主に保守運用を担当しました。

プロジェクト使用技術

フロントエンド
  • HTML、CSS3、JS、Jquery
  • DataPager.js
  • Floating.js
  • flv.js
  • jquery.drag.js
  • jquery.ztree.core-3.5.js
  • jquery-1.11.0.min.js
  • jquery-ui.js
  • jquery-ui-1.10.4.custom.js
  • operate.js

「operate.js という自社開発のキャンバスコンポーネントを使用し、組織図を描画しました。」

バックエンド

.NET

プロジェクトでの役割

フロントエンドの保守、新規機能開発、単体テスト、および業務ロジックの調査を担当しました。

業務のハイライト

複雑な権限管理の実装、複雑な組織構成の管理・保守および実装、レガシーシステムの大規模な追加開発および保守。

1.4 プロジェクト名:昇進公示(Rank)

紹介

テンセントの年次従業員職級・役職昇進情報の公示システムです。年次評価(人事考課)における従業員の昇進申請資料の提出、および社内公示の際に使用されます。

各組織(部門)ごとの昇進公示情報の閲覧機能、および従業員による昇進申請資料の提出機能を提供します。

プロジェクトの個人視点での説明

JavaベースのWebアプリケーション構成

フロントエンド(PCユーザー画面、管理画面)
  • “@angular/compiler-cli”: “4.3.5”,
  • “webpack”: “~2.6.1”,
  • “node”: “>= 4.2.1”,
  • “npm”: “>= 3”
バックエンド
  • flydiy-base-1.1.1-SNAPSHOT.jar
  • flydiy-core-1.1.1-SNAPSHOT.jar
  • flydiy-schedule-1.1.1-SNAPSHOT.jar
  • hibernate-core-5.2.12.Final.jar
  • jackson-core-2.8.10.jar
  • jedis-2.9.0.jar
  • jjwt-0.9.0.jar
  • jsoup-1.11.3.jar
  • ojdbc6-12.1.0.1-atlassian-hosted.jar
  • poi-3.15.jar
  • poi-ooxml-3.15.jar
  • spring-boot-1.5.10.RELEASE.jar
  • spring-security-core-4.2.4.RELEASE.jar

プロジェクトでの役割

プロジェクトの新規要件開発、およびシステム調査を担当しました。

1.5 プロジェクト名:クラウド休暇(云休假 / yun_hr_holiday)

紹介

テンセント社内の従業員休暇に関する承認業務を管理し、個人休暇および法定休日の設定を行います。

以下のモジュールを含みます:

休暇承認フロー管理(直属の上長への申請プロセス、および関係者への通知・共有)

プロジェクトの個人視点での説明

国内外で休日設定が異なるため、「国内向け中国語版」と「海外向け英語版」の2つの環境に分けてデプロイ(展開)しています。

従業員の休暇データを外部APIとして提供し、「薪云給与システム」での給与計算に利用されています。

多言語(国際化)に対応しており、管理画面の言語(中国語・英語)をワンクリックで切り替え可能です。

「E計画」システムとデータ連携し、従業員情報の管理(詳細の閲覧、および「E計画」からのデータ同期)を行っています。

プロジェクト使用技術

フロントエンド
  • “vue”: “^2.0.0”,
  • “vue-i18n”: “^8.21.1”,
  • “axios”: “^0.18.0”,
  • “element-ui”: “^2.15.6”,
  • “babel-core”: “^6.22.1”,
  • “babel-eslint”: “^8.2.1”,
  • “babel-loader”: “^7.1.1”,
  • “css-loader”: “^0.23.1”,
  • “less”: “^3.9.0”,
  • “less-loader”: “^4.1.0”,
  • “webpack”: “^2.2.1”,
バックエンド
  • GO

プロジェクトでの役割

フロントエンド開発:2022年2月~2023年9月の期間、本プロジェクトにおける機能開発および業務調査を担当。

業務のハイライト

社員選択と部門選択コンポーネントのレイアウトずれ(表示崩れ)を修正しました。この作業を通じて、自社開発コンポーネントライブラリにおけるバグの原因特定、コードリーディング、そしてバグ修正の経験を積むことができました。

1.6 プロジェクト名:在職確認(OnlineCheck)

紹介

従業員の出勤・在勤データの照合プロジェクトです。主に人事部が毎月の出勤管理や給与計算を行う際に使用されるシステムです。従業員の出勤・在勤データの照合プロジェクトです。主に人事部が毎月の出勤管理や給与計算などを行う際に使用されるシステムです。

「E計画」という人事システムとデータ連携を行っており、このシステムを従業員情報のマスターデータ(データソース)として利用しています。

本システムは、従業員の打刻データや入退館記録、食堂の利用・決済データなどを一括で管理するシステムです。

具体的には、以下のデバイスから取得したデータの管理を担当しました:

  • 勤怠管理端末の打刻データ
  • オフィスの入退館(セキュリティゲート)の記録
  • 食堂での決済(支払い)データ
  • 社内バスの乗車カード(ICカード)の利用データ

プロジェクトの個人視点での説明

.NETを使用したウェブアプリケーションの開発プロジェクトです。

構成としては、Javaのウェブアプリに近く、フロントエンドとバックエンドが分離されていない、従来型(モノリシック)なアーキテクチャを採用しています。

プロジェクトでの役割

このプロジェクトでは、HTML画面の開発を担当しました。

開発リソースが不足していたため、フロントエンドの開発担当として急遽アサインされました。

ローカルの開発環境構築については、.NETエンジニアの同僚にサポートしてもらい、スムーズに開発・テストを進めることができました。

画面のレンダリングには、JavaのJSPに近い技術を使用し、サーバーサイドで動的に生成する構成でした。

また、Ajaxを利用してバックエンドとデータのやり取り(非同期通信)を行うロジックを実装しました。

開発の流れは以下の通りです:

  • HTMLコーディング:まず、静的なHTML画面を作成します。
  • テンプレート化:それをJSPのようなサーバーサイドのテンプレートに変換します。
  • ロジック実装:最後に、JavaScriptでの動きや、API呼び出しの処理を記述します。

業務のハイライト

既存の技術をベースに、仕事における新しいプロジェクトの技術要件にも柔軟に対応しました。

1.7 プロジェクト名:プロダクト人材リソース棚卸(PMI)

紹介

テンセント(Tencent)の人事管理システムです。リソース管理の可視化とデジタル化を目的としていました。

どの従業員が、毎日どのプロジェクトやチームにどれくらい工数を投入しているか、各プロジェクトのリソース投入量などのデータを管理していました。

全従業員が毎日、各タスクやプロジェクトに投入した工数を、毎週各チームがボトムアップで収集していました。最終的に人事担当者が、プロジェクトを親要素として、リソース投入データをシステムに入力していました。

毎年、四半期ごとにリソース投入状況の棚卸しを行いました。

プロジェクト使用技術

フロントエンド
  • “vue”: “^1.0.26”,
  • “vue-resource”: “^0.9.3”,
  • “vue-router”: “^0.7.13”,
  • “vuex”: “^1.0.0-rc.2”
  • “eslint”: “^3.3.1”,
  • “node-sass”: “^4.13.0”,
  • “sass-loader”: “^4.0.0”,
  • “vue-loader”: “^8.5.3”,
  • “vue-style-loader”: “^1.0.0”,
  • “webpack”: “^1.13.1”,
バックエンド

.NET

プロジェクトでの役割

プロジェクトチームの人手が足りなかったため、一時的にこのプロジェクトの要件開発を担当しました。

業務のハイライト

プロジェクトチームの開発リソースが不足していたため、緊急対応として参加しました。開発要件を迅速に理解し、新システムの追加開発(二次開発)を行いました。

1.8 プロジェクト名:社内規定・通達(policy)

紹介

テンセント(Tencent)社内の規定・政策管理システム(https://policy.woa.com )です。規定の承認管理、発布、公示、期限切れの公示、詳細内容の閲覧、検索など、社内規定に関するすべての機能を提供していました。テンセント公文書管理システムは、会社の制度を発信する公式なチャネルでした。

公文書業務は、会社の政策や決定事項などの正式な文書を公式チャネルを通じて発信し、各組織の管理の根拠を提供することで、コーポレート・ガバナンスを支える重要な施策でした。

具体的な公文書には、『XXX管理制度』、『XXXX管理規定』、『XXXXに関する決定事項』、『XX業務の開始に関する通知』、および全社員向けの告知などがありました。

公文業務はどのように運用されたか

公文書業務の運用は、「テンセント公文書管理システム」を基盤としていました。これは全社的な公式プラットフォームであり、『テンセントグループ公文書管理制度』に準拠して運用されました。

プロジェクトの個人視点での説明

公文書発行システムのフロントエンドには、レスポンシブ技術を採用しました。PCとモバイルで同一のコードを使用し、アクセスしたデバイスの画面サイズに合わせて、動的に表示を切り替える構成でした。

プロジェクト使用技術

フロントエンド
  • “vue”: “~2.6.10”,
  • “@tencent/sdc-core”: “^1.0.7”,
  • “@tencent/sdc-flow-engine”: “1.0.25”,
  • “@tencent/sdc-theme”: “1.0.2”,
  • “@tencent/sdc-vue”: “1.0.1”,
  • “@tencent/sdc-webui”: “^1.0.17”,
  • “@tinymce/tinymce-vue”: “~3.2.6”,
  • “@riophae/vue-treeselect”: “~0.4.0”,
  • “element-ui”: “~2.13.0”,

@tencent 配下のNpmパッケージは、自社開発のUIコンポーネントライブラリでした。また、ログインやゲートウェイなど、社内権限の認証やデータ通信に関するコンポーネントライブラリも含まれていました。

バックエンド
  • SpringBoot

プロジェクトでの役割

フロントエンド開発として、2024年8月から2025年8月まで、本プロジェクトのフロントエンドに関するすべての要件開発や業務ロジックの調査などを担当しました。

業務のハイライト

既存の複雑な承認フローにおける業務調査、二次開発、および保守の経験を積みました。

2. 業務線②:社内教育・ライブ配信・知識共有プラットフォーム群(6案件)

2.1 プロジェクト名:テンセント・アカデミー(Q-Learning)

紹介

テンセント・アカデミー(Tencent Academy)の親プロジェクトです。テンセントの学習プラットフォームと企業アカウントの権限を紐付け、権限を持つ従業員がアクセスできるようになっていました。親プロジェクトの主な機能には、プロジェクト集計ライブ配信、アーカイブ配信、優良講座などがありました。テンセントのすべての社内ライブ配信や共有会は、このプラットフォームで事前告知や予約、開催が行われました。

システムはPC版、微信(WeChat)ミニプログラム版、企業微信(WeChat Work)版を提供しており、ユーザーがマルチプラットフォームでアクセスできるようになっていました。

子プロジェクトもこのシステムに統合されており、社内ポータルシステムとしての役割も持っていました。例えば、「行家(エキスパート)」、「ケーススタディ」、「社内研修」、「試験・練習」などの各プロジェクトへのショートカット(入り口)を提供していました。

プロジェクトの個人視点での説明

所属チームが担当した開発業務の一部は、この親プロジェクト配下のサブシステムに関連するものでした。主な業務内容は、要件開発や業務調査、およびシステム間の連携や共同開発でした。

2.2 プロジェクト名:ライブ配信管理システム(Q-Live)

紹介

テンセント・アカデミー(Tencent Academy)のサブシステムで、ライブ配信モジュールを担当しました。講師がライブ配信を行うための機能を提供し、テンセント・ライブ(Tencent Live)のプッシュ配信(ストリーミング)と連携していました。PCとモバイルの両方で視聴が可能で、PC端からのプッシュ配信にも対応していました。権限は、視聴者、講師、管理者の3つのロールに分かれていました。

ライブ配信に関する一通りの機能を提供しました。具体的には、ストリーミング配信、コメント(弾幕)、ギフト、抽選機能(コメント抽選、クイズ抽選、通常抽選、アンケート抽選)、および新規ユーザー入室時の通知機能などを実装しました。

外部に対しては、ライブ予約データの書き込み機能を提供し、予約システムからの呼び出しに対応していました。

プロジェクトの個人視点での説明

Node.jsをバックエンドとして使用したライブ配信プロジェクトであり、関連技術の実践的な活用において、非常に高い学習効果がありました。

プロジェクト使用技術

フロントエンド

Vue.js

ミニプログラム版

ライブ視聴やアーカイブ配信など、ライブ関連の機能のみを提供しました。

PC管理画面

ライブデータの管理、ギフトの設定、ライブ用テンプレートの設定などを行いました。

PCフロントエンド

ユーザーの役割(ロール)ごとに機能を分け、視聴者、講師、管理者の各ロールに対応した機能を実装しました。

バックエンド

Node.js

プロジェクトでの役割

バックエンド開発において、Node.jsを担当しました。

業務のハイライト

ライブ配信の抽選機能に、新しい参加方式として「投票」を追加しました。(具体的には、選択式のクイズ抽選、複数回答のクイズ抽選、アンケート形式の抽選機能を新規実装しました。)

高負荷(ハイコンカレンシー)なビジネスシーンにおける具体的な対応と、その実践において非常に良い経験を積むことができました。

2.3 プロジェクト名:事例センター(Case Study Center /case)

紹介

テンセント・アカデミー(Tencent Academy)傘下のサブプロジェクトです。正社員、インターン、コンサルタント、派遣社員、パートナー企業の方々など、テンセントに関わる幅広い方々がアクセスできるシステムでした。

特定のテーマに沿って、アンケート形式で従業員から特定の分野における課題や解決策を収集し、他の従業員が検索・閲覧できるようにした社内知識共有プラットフォームです。定期的にテーマを決めたイベントを開催し、社内の掲示板、ポスター、メール、公式アカウントなどを通じて全社員に告知を行いました。また、参加を促すためのインセンティブ(報酬)も用意しました。事例を共有することは、社員自身の社内での知名度向上や技術交流に大きく役立ち、年度末の評価(人事考課)においてもプラスの材料となりました。

プロジェクトの個人視点での説明

本システムは、PC版とモバイルH5版を従業員向けに提供していました。H5版は「企業微信(WeChat Work)」に組み込まれており、ワークスペース(工作台)から直接アクセスできるほか、「テンセント・アカデミー」のミニプログラム内にもアクセス口を用意しました。ログイン処理については、ゲートウェイ側で一括して認証・チェックを行う仕組みでした。

バックエンド側では、企業微信の通知サービスと連携しており、コメントや「いいね」、新しい事例の共有などの通知をユーザーの企業微信に直接プッシュ送信する機能を実装しました。

プロジェクト使用技術

プロジェクトはモノリシックアーキテクチャで、フロントエンドとバックエンドが分離された構成でした。

フロントエンド(PC版、モバイル版)
  • “@angular/compiler-cli”: “4.3.5”,
  • “css-loader”: “^0.28.0”,
  • “less-loader”: “^4.0.5”,
  • “sass-loader”: “^6.0.3”,
  • “tslint”: “~4.5.1”,
  • “webpack”: “~2.6.1”,
  • “node”: “>= 4.2.1”,
  • “npm”: “>= 3”
バックエンド
  • cn.flydiy.cloud2:flydiy-base:1.1.2-V1FLY-SNAPSHOT

(テンセント社内でSpring Bootをベースにパッケージ化した分散型フレームワーク)を使用しました。社内ゲートウェイ認証、ログインサービス、画像アップロード処理などの共通基盤サービスがパッケージ化されていましたが、本プロジェクトでは単体(モノリス)構成に必要な機能のみを利用しました。

プロジェクトでの役割

本プロジェクトにおいて、私はフロントエンドの要件開発を担当しました。また、プロジェクトに関する問い合わせ対応、バグの特定、ビジネス担当者と連携した業務ロジックの調査、およびユーザーから寄せられたシステム利用に関する不具合や疑問点の調査などを行いました。

業務のハイライト

コンテンツタイプに「小Q同学(シャオQ)へ同期するかどうか」のフィールド追加要件に対応しました

テンセント・アカデミー(Tencent Academy)との共同開発機能で、データを「小Q同学」(大規模言語モデル搭載の対話型AIロボット)へ同期させる仕組みです。

情報セキュリティ監査の改修と監査対応を行いました

テンセント・アカデミーとの共同開発機能で、フロントエンドおよび管理者用バックエンドのすべてのフォーム送信箇所にバリデーションサービスを追加しました。データをサーバーへ送信する前に、情報セキュリティ監査サービスを呼び出し、テキストや画像に敏感な内容(不適切コンテンツ)が含まれていないかチェックする仕様です。敏感な内容が検知された場合は、ユーザーに通知し、送信を制限するようにしました。

UGC(ユーザー生成コンテンツ)に投げ銭機能を追加しました(PC/モバイル版)

テンセント・アカデミーの投げ銭サービスと連携し、投げ銭ボタンをクリックすると、固定金額のほか、カスタム金額も選択できる仕様にしました。投げ銭が行われるとユーザーのポイントが差し引かれ、ポイント不足時は投げ銭ができない仕組みです。差し引かれたポイントは、事例共有者のテンセント・アカデミー総合アカウントに加算されるようにしました。

2.4 プロジェクト名:行家(エキスパート eshifu)

紹介

テンセント・アカデミー(Tencent Academy)傘下のサブプロジェクトです。テンセント・アカデミーのミニプログラムや、HR企業ポータルからアクセス可能でした。

「行家(エキスパート)」プラットフォームには、各分野に精通した社内のスペシャリストが多数在籍しています。ユーザーは申請を行うことでエキスパートとして登録でき、他の従業員からの専門的な相談(コンサルティング)を受け付ける仕組みでした。相談にはテンセント・アカデミーのポイント(QLearningポイント体系)を使用します。正社員には毎年2,000ポイントの共通ポイントが配布されました。エ キスパートが獲得したポイントは、追加給与として換金申請することができました。

システムはフロントエンドとバックエンドが分離されたモノリシックな構成でした。主な業務モジュールには、入驻(エキスパート登録)申請、個人設定(マイページ)、エキスパートトピック、1対1および1対多の相談予約機能がありました。また、メールや企業微信(WeChat Work)による通知機能も備えていました。

プロジェクトの個人視点での説明

本システムは、PC版とモバイルH5版を従業員向けに提供していました。H5版は「企業微信(WeChat Work)」に組み込まれており、ワークスペースから直接アクセスできるほか、「テンセント・アカデミー(Tencent Academy)」のミニプログラム内にもアクセス口を用意しました。ログイン処理については、ゲートウェイ側で一括して認証・チェックを行う仕組みでした。

バックエンド側では、企業微信の通知サービスと連携しており、コメントや「いいね」、新しい事例の共有などの通知をユーザーの企業微信に直接プッシュ送信する機能を実装しました。

プロジェクト使用技術

フロントエンドとバックエンドが分離された構成でした。

フロントエンド(PC版、モバイル版)
  • “@angular/compiler-cli”: “4.3.5”,
  • “@angular/core”: “4.3.5”,
  • “http-server”: “0.9.0”,
  • “less”: “^2.7.2”,
  • “ts-node”: “^3.3.0”,
  • “tslint”: “~4.5.1”,
  • “node”: “>= 4.2.1”,
  • “npm”: “>= 3”
  • “tinymce”: “^4.8.3”,
バックエンド
  • cn.flydiy.cloud2:flydiy-base:1.1.2-V1FLY-SNAPSHOT
  • org.projectlombok:lombok:1.18.8
  • cn.hutool:hutool-all:5.7.16
  • cn.flydiy.flycloud:flycloud-basic:1.2.0-FLYCLOUD-Greenwich-SNAPSHOT
  • com.alibaba:easyexcel:2.1.4

cn.flydiy.cloud2:flydiy(テンセント社内でSpring Bootをベースにパッケージ化した分散型フレームワーク)を使用しました。社内ゲートウェイ認証、ログインサービス、画像アップロード処理などの共通基盤サービスがパッケージ化されていましたが、本プロジェクトでは単体(モノリス)構成に必要な機能のみを利用しました。

プロジェクトでの役割

PC版およびモバイル版の要件開発を担当しました。また、本プロジェクトに関する調査タスクの対応も行いました。

業務のハイライト
1对多模块系统改造需求

これまでの1対1相談のみの形式から、新たに1対3、1対6、および1対多の予約モードを追加しました。これに伴い、行家(エキスパート)システムのトップページ、マイページ、話題検索結果リスト、カテゴリーページなど、話題に関連するすべてのフロントエンド・バックエンド画面を改修しました。また、エキスパート向けに話題のスケジュール一覧機能を追加し、可視化されたインターフェース(GUI)でスケジュールの管理を行えるようにしました。

2.5 プロジェクト名:学堂外部向け講座申請プラットフォーム(academy)

紹介

このプロジェクトは、オフライン講座やイベントの予約システムで、教室のリソース予約に使用されました。社外の企業にも開放されています。深センのテンセントビルやテンセント・シーフロント・タワー(濱海大厦)など、中国全土の各オフィスビルにある会議室や階段教室の予約に対応し、教室リソースの予約申請プロセスのデジタル化を実現しました。同時に、「テンセント・アカデミー(Tencent Academy)」やライブ配信サブシステムとも連携しており、オンラインとオフラインの同時受講が可能な仕組みを提供しました。

プロジェクトの個人視点での説明

本システムは、PC版とモバイルH5版を従業員向けに提供していました。H5版は「企業微信(WeChat Work)」に組み込まれており、ワークスペースから直接アクセスできるほか、「テンセント・アカデミー(Tencent Academy)」のミニプログラム内にもアクセス口を用意しました。ログイン処理については、ゲートウェイ側で一括して認証・チェックを行う仕組みでした。

バックエンド側では、企業微信の通知サービスと連携しており、コメントや「いいね」、新しい事例の共有などの通知をユーザーの企業微信に直接プッシュ送信する機能を実装しました。

プロジェクト使用技術

プロジェクトはモノリシックアーキテクチャで、フロントエンドとバックエンドが分離された構成でした。

フロントエンド(PC版、モバイル版)
  • “vue”: “^2.6.10”,
  • “@tencent/sdc-core”: “^1.0.6”,
  • “@tencent/sdc-theme”: “^1.0.2”,
  • “@tencent/sdc-vue”: “^1.0.1”,
  • “@tencent/sdc-webui”: “^1.0.7”,
  • “@tinymce/tinymce-vue”: “^3”,
  • “less-loader”: “^5.0.0”,
  • “eslint”: “^5.16.0”,
  • “element-ui”: “^2.15.13”,

@tencent配下のNpmパッケージは、自社開発のコンポーネントライブラリや、ログイン・ゲートウェイといった社内権限認証、データインタラクション用のコンポーネントライブラリでした。

后端

このプロジェクトのバックエンド開発には携わっておらず、ローカル開発時にはテスト環境に接続してインターフェースのデータ連携を行っていました。

プロジェクトでの役割

プロジェクトチームの人手が不足していたため、私がフロントエンド開発および要件定義・調整の業務を引き継ぎ、担当しました。

業務のハイライト

「学堂(Tencent Academy)」対外コース申請プラットフォームのアップグレード要件(第一期)に対応しました。

対外予約プロセス全体のフロントエンド再構築(リビルド)開発、および他部門のAPI呼び出しを実装しました。

2.6 プロジェクト名:在线讲师系统(Lecture_proj)

紹介

テンセント・アカデミー(Tencent Academy)の講師管理システムで、講師に関する管理や設定を行うためのものです。

このシステムは、講師情報やコース内容の管理コストを削減し、利用者の作業効率を向上させること、そして講師への応募やコース管理のプロセスを簡略化することを目的として開発されました。従業員向けには講師認定の申請や昇格(プロモーション)機能を提供し、管理者向けにはコース管理、プロセス操作、承認業務、ロール管理、通知管理などの機能を実装しました。

従業員が講師認定の申請や昇格を行えるようにし、カテゴリーマネージャーや各管理者が講師およびコースを管理・メンテナンスできる機能を実現しました。これにより、承認効率を向上させ、管理コストを削減しました。

プロジェクト使用技術

前端
  • “node”: “>= 6.0.0”,
  • “npm”: “>= 3.0.0”
  • “axios”: “^0.18.0”,
  • “element-ui”: “^2.5.4”,
  • “vue”: “^2.5.2”,
  • “less”: “^3.9.0”,
  • “less-loader”: “^4.1.0”,
  • “webpack”: “^3.12.0”,

项目中的角色

フロントエンドの要件開発を担当しました。

负责的工作

フロントエンドの要件開発を担当しました。当初本プロジェクトを担当していたメンバーが他案件で対応できなかったため、リリーフとして急遽本プロジェクトの要件開発を担当することになりました。

業務のハイライト

プロジェクトチームの開発リソースが不足する中、新規システムを迅速に理解し、二次開発(追加要件開発)を完遂したことで、高い適応力と即戦力としての能力を十分に発揮しました。

3. 業務線③:福利厚生・共通基盤開発(4案件)

3.1 プロジェクト名:商保在线理赔系统(insurance)

紹介

本プロジェクトは、テンセントのHR福利厚生・給与部門により、従業員の保険金請求(理賠)シーンを改善するために発足しました。従来のオフライン申請に加え、オンライン申請機能を追加・拡充し、オフライン・オンライン両方の運用に対応させました。利用者はテンセントのHRおよびグループ全従業員です。

システムはテンセントクラウド(Tencent Cloud)上にデプロイされており、社内ネットワーク(イントラネット)と外部ネットワーク(エクストラネット)で構成されています。社内ネットワーク側はテンセント内部のデータセンターに、外部ネットワーク側はテンセントクラウド上にデプロイされています。

プロジェクトの個人視点での説明

本プロジェクトはテンセントクラウド(Tencent Cloud)上にデプロイされており、社内ネットワーク(イントラネット)と外部ネットワーク(エクストラネット)で構成されていました。社内ネットワーク側はテンセント内部のデータセンターに、外部ネットワーク側はテンセントクラウド上にデプロイされていました。

テンセント商用保険オンラインシステムは、主に以下の3つの部分で構成されていました。

■ 社内ネットワーク・モバイル版

主に保険金の請求申請、ステータスの追跡、および加入情報の照会機能を実装しました。

■ 社内ネットワーク・PC管理版(オペレーション端)

保険金請求に関する統計、加入情報の管理、および業務に必要な設定管理を行いました。

■ 外部ネットワーク・保険会社用インターフェース

保険会社向けにAPIを公開し、請求情報の同期や、審査ステータスの同期を実現しました。

プロジェクト使用技術

前端(PC/Mobile)
  • “react”: “^16.4.2”,

  • “tinymce”: “^5.0.9”

  • “axios”: “^0.18.1”,

  • “echarts”: “^4.2.0-rc.1”,

  • “jquery”: “^3.3.1”,

后端
  • cn.flydiy.cloud2:flydiy-base:1.1.2-V1FLY-SNAPSHOT
  • org.projectlombok:lombok:1.18.8
  • cn.hutool:hutool-all:5.7.16
  • cn.flydiy.flycloud:flycloud-basic:1.2.0-FLYCLOUD-Greenwich-SNAPSHOT
  • com.alibaba:easyexcel:2.1.4

cn.flydiy.cloud2:flydiy(テンセント社内でSpring Bootをベースにパッケージ化した分散型フレームワーク)を使用しました。社内ゲートウェイ認証、ログインサービス、画像アップロード処理などの共通基盤サービスがパッケージ化されていましたが、本プロジェクトでは単体(モノリス)構成に必要な機能のみを利用しました。

数据库

MySQL

プロジェクトでの役割

本プロジェクトに関連するすべての要件開発、不具合調査、およびメンテナンスを担当しました。

業務のハイライト

package.jsonの依存関係(デプロイメント)のバージョン変更に対応しました。

古いプロジェクトにおけるパッケージの依存関係の問題、特にパッケージバージョンの自動アップグレード(マイナーアップデート等)に起因するNpmパッケージの互換性問題を調査し、解決しました。

3.2 プロジェクト名:Liao 情绪(liao_mood)

紹介

テンセントの従業員向けメンタルヘルス・福利厚生プロジェクトです。感情を癒やすオーディオ、瞑想ガイド音声、心理カウンセリングの予約、心の健康日記(メンタル日記)の記録などの機能を提供しました。

プロジェクトの個人視点での説明

従業員向け福利厚生プロジェクトです。LINEのミニアプリに似た技術を用いて開発されており、中国版LINE(WeChat)のアプリ内からアクセス・利用できる仕組みでした。安定稼働しているプロジェクトのため、追加の開発要件はそれほど多くありませんでした。

プロジェクト使用技術

前端

WeChatミニアプリ(LINEミニアプリのような仕組み)でした。

后端

データはWeChatデベロッパープラットフォーム(微信开发者平台)のデータベースに保存されていました。

プロジェクトでの役割

ミニアプリの要件開発を担当しました。

業務のハイライト

LINEミニアプリに類する開発・運用の実務です。

プロジェクト名:产陪生双选(q-career)

紹介

テンセントのプロダクトマネージャー(PM)研修生向けのマッチング用ミニアプリです。研修終了後、研修生とメンター(指導役)の間で面接の相互選択を行うために使用され、マッチングに成功した学生はテンセントに正式採用される仕組みでした。

マッチング(双選)のプロセスは以下の通りです:

  • マッチング開始:管理画面から学生データと求人ポジションのデータをインポート。
  • 学生による選択:学生がミニアプリにログインし、志望するポジションを選択して履歴書を提出(最大3つまで)。確定後は修正不可。
  • メンターによる選択:メンターが候補者の中から気になる学生を3名選択(履歴書で詳細情報を確認)。確定後は修正不可。
  • マッチング成功データの反映:システム側で双方の合意が得られたデータをインポートし、面接フェーズへ移行。
  • 結果発表:面接終了後、管理画面から結果をインポートし、学生がミニアプリ上で最終結果を確認。

プロジェクトの個人視点での説明

社内プロダクトインターン生とプロジェクトチームによる、マッチング(双方向選択)のためのWeChatミニアプリです。

プロジェクト使用技術

前端

WeChatミニプログラム(LINEミニアプリのような仕組み)でした。

后端

データストレージ:Tencent Cloud(テンセントクラウド)データベース

インターフェース通信:Tencent Cloudベースのクラウド開発API(CloudBase API)

プロジェクトでの役割

プロジェクトの開発、およびメンテナンスを担当しました。

データメンテナンス、双選(マッチング)期間中の初期データインポート、およびマッチング結果のエクスポートなどを担当しました。

業務のハイライト

LINEミニアプリに類する実務・運用経験。

3.3 プロジェクト名:一键封面(sdc-img-cover 组件库组件)

紹介

テンセントSDC(Software Development Center)事業部門向けの汎用的なカバー画像自動生成コンポーネントです。ローコードで容易に組み込みが可能(低侵襲)な設計となっており、各プロジェクトでカスタムカバー生成サービスを迅速に導入できるよう開発しました。

「智絵学堂(Zhihui Xuetang)」サービスと連携し、カバー内容、ロゴ、背景、人物画像、イラストなどをアップロードすることで、カバー画像の自動生成を実現しました。Vue.jsを用いて開発し、共有コンポーネントライブラリ「training-components」の一つとして提供しました。

プロジェクトの個人視点での説明

Npmパッケージ(コンポーネントライブラリ)の開発を担当しました。本コンポーネントは、各プロジェクトが「智絵学堂」の画像サービスを導入する際、内部ドキュメント(Wiki)を一から読み込んで重複したロジックを実装しなければならないという課題を解決しました。また、開発者やビジネス担当者など、多方との調整に要する人的コストの削減も実現しました。

カバー画像生成サービスを「ブラックボックス」としてカプセル化(パッケージ化)することで、導入側は内部ロジックを意識することなく、入力パラメータと戻り値のみを管理すれば済む構成にしました。既存コードへの影響(侵襲性)を最小限に抑え、パッケージをインポートしてコンポーネントを呼び出すだけで、数行のコードで導入を完了できるようにしました。

プロジェクト使用技術

前端
  • “vue”: “^2.6.0”,
  • “vue-i18n”: “^8.0.0”,
  • “webpack”: “^5.99.5”,
  • “zhihui-editor-sdk”: “^2.2.2”
  • “element-ui”: “^2.15.0”,”
  • “@vue/cli-plugin-babel”: “^5.0.8”,
  • “babel-loader”: “^10.0.0”,
  • “core-js”: “^3.6.5”,
  • “cos-js-sdk-v5”: “^1.10.1”,

「zhihui-editor-sdk」: “^2.2.2” は、会社がTinymceをベースに二次開発(カスタマイズ)した自社製エディタコンポーネントです。社内の共通画像サーバーへのアップロード機能や、社内要件に基づいたエディタコンテンツ処理のカスタマイズ機能をパッケージ化していました。

プロジェクトでの役割

sdc-img-coverコンポーネントの二次開発およびメンテナンスを担当しました。

業務のハイライト

フロントエンドの共通コンポーネントライブラリにおいて、業務要件を満たしつつ、シンプルで使いやすい共通コンポーネントの基盤を提供する方法や、Npmパッケージをリポジトリに公開するまでの一連のフローについて、非常に価値のある経験を蓄積しました。

4. 个人项目

4.1 区块链夹子

紹介

BSCチェーンのハッシュデータ監視です。論理的には、特定のコントラクトにおける大口取引を検知した際、「ガス代が高いほどノードによって優先的にブロックへ書き込まれる」という仕組みを利用します。大口取引よりも先に買い注文を入れ、その後の大口取引の成功によって価格が上昇した直後に売却し、その差益を得る(フロントランニング)という仕組みです。

プロジェクト使用技術

Web3.js、PancakeSwap API、BSC(Binance Smart Chain)ブロードキャストソースを使用しました。

テスト時のBSCチェーン上のハッシュ(Transaction Hash)

ウォレットアドレス(Wallet Address)

https://bscscan.com/txs?a=0x590F359CF6dB13D635C5d2422c642b35F74c76E4&ps=100