背景

HAGAKUREPROGRAMMING塾コミュニティ内のコミュニケーションや情報共有は以下のように行っていました。

  • 連絡やコミュニケーションはSlackを使用
  • 情報の蓄積などを行うGitHub上のIssueを掲示板的に活用

ホームページ

2022年からホームページを公開し、次のような目的で運用しています。

  • 開発側の目的:実際にWeb制作や運用を体験する
  • 閲覧者側の目的:コミュニティへの参加を促進する

HAGAKUREPROGRAMMING塾ホームページ

なぜ独自開発なのか?

情報発信だけが目的であれば、QiitaやZennなどの既存プラットフォームを使う方が効率的ですが、2つの目的を整理して開発することにしました。

  • 技術的な挑戦の場をつくる
  • コミュニティ内でアウトプットを促す環境を整える

既存のホームページを拡張し、独自のCMSを開発することにしました。

選定ライブラリ

以下の理由からDjango派生のCMSライブラリであるWagtailを選定しました。

  • コミュニティ内ではPythonを主に使用していたこと
  • 既存のホームページがDjangoで構築されていたこと
wagtail

Wagtail

CMS開発の目標

既存のWebサイトを拡張し、コミュニティ活動の内容について外部への認知や関心を高める。

CMS開発の目的

3つのターゲット

  • コミュニティ以外の閲覧者:認知や関心を高めコミュニティの活動を知ってもらう。活動内容に興味を持ってもらい新規にコミュニティに参加してもらう。
  • Webサイト作ろう会の開発者:実際に手を動かして開発する機会を持つことで理解を深める。学習では見えない知識や知見の幅を広げるきっかにする。
  • コミュニティ参加者:ブログを通じてアウトプットしたり、他の参加者のブログを読むことで、知識の幅や学びのモチベーションを高める。

メンバー、体制

  • デザイン班、フロントエンド班、バックエンド班、(デプロイ班)

使用ツール

  • コミュニケーション:Slack、Zoom
  • スケジュール・ドキュメント管理:Notion
  • デザイン班:Figma
  • プログラムバージョン管理:Github
  • プログラム言語:Python、JS
  • サーバ:Xserver
  • フロントエンド班:HTML、CSS、JS
  • バックエンド班:Python(Wagtail)、JS、MySQL、SQLite3
ホームページ用 (1)

Notion画面:

Notionタスク画面
Notion画面

Figma画面:

figma画面
figma画面

スケジュール

  • 開発決定:2025年1月18日
  • 初回打ち合わせ:2025年1月26日
  • 要件整理:画面デザインや機能のアイディア出し:2025年02月02日
  • デザイン班ワイヤーフレーム作成:2025年02月04日
  • バックエンド班:詳細な機能仕様の確認:2025年02月26日
  • デザイン班デザイン完成:2025年03月09日
  • フロントエンド班作業開始:2025年03月10日
  • Scrollロゴ完成:2025年04月07日
  • バックエンド作業完了:202504月29日
  • フロントエンド班作業完了:202504月11日
  • 統合作業完了:2025年04月18日
  • 最終調整完了:2025年04月25日
  • サーバデプロイ班作業開始:202504月26日
  • 公開日:2025年5月21日

上手くいったこと

  • 全体・各班で要件の洗い出しを丁寧に実施し、準備を整えた。
  • 作業前にイメージやアイディアを共有し、方針や方向性を最後までぶれることなく維持できた。
  • 毎週日曜日を進捗確認の固定日に設定し、タスク管理はNotionのボードを活用した。
  • 必要に応じて各班で柔軟に打ち合わせを実施できた。
  • 打ち合わせや作業の進行をすべてオンライン上で完結できた。
  • 離脱者や大きなフォローが発生することなく、全員が自分の役割をしっかり果たした。
  • 最初に想定し要件に近い(納得感がある)形で、無事に公開までたどり着いた。

上手くいかなかったこと・課題

  • 各自仕事や家庭の都合が違うため作業度合いに波があった。
  • オンラインだけでは伝わりにくい部分もあり、対面での議論の方がアイディアが広がったかもしれない。

次回はデザイン編です。