0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サーバー不要。共有フォルダに「置くだけ」で動く社内ポータル作成キットを自作した理由

Posted at

はじめに

「あのマニュアル、どこにありましたっけ?」 「共有フォルダの、総務の、2025年度のフォルダの中に……」

どこの現場でも繰り返される、この数分間のやり取り。これを解決するために「社内ポータル」を導入しようとすると、意外と高いハードルにぶつかります。

  • サーバーを立てる予算も、管理する情シスもいない
  • クラウドサービスはセキュリティ審査が厳しい
  • そもそも、そこまで多機能なものは求めていない

「今ある共有フォルダに、ファイルを置くだけで動く。それだけでいいんだ」 そんな思いから、Zero-Server / Local-First なポータル作成キットを作りました。

コンセプト:IT担当がいない現場でも「持続可能」なこと

こだわったのは、導入時だけでなく「運用」のハードルを極限まで下げることです。

  • インフラ不要: サーバーやDBの構築は一切不要
  • 脱・黒い画面: HTMLやCSSの知識がなくても、ブラウザ上のUIで更新が完結
  • セキュリティ: 外部ネットワークと通信しないため、社内データが外に漏れるリスクが構造的

技術的な構成

仕組みは非常にシンプルです。

  • 言語: Vanilla JS / HTML / CSS
  • データ管理: 外部の data.js を読み込む形での擬似CMS化

「サーバーなし」でどうやってデータを保存するか

静的なHTMLファイルにはファイルの書き込み権限がありません。そこで、本ツールでは Blob API を活用しました。

  1. 専用の編集ページ(edit.html)で入力を受け付け
    1. JavaScript内でJSONデータを構築し、data.js というファイル名でBlobを生成
  2. ブラウザのダウンロード機能を使って、ユーザーの手元に設定ファイルを書き出す
  3. ユーザーがそれを元のフォルダに「上書き保存」
// 保存処理のイメージ
const blob = new Blob([data], { type: 'text/javascript' });
const link = document.createElement('a');
link.href = URL.createObjectURL(blob);
link.download = 'data.js';
link.click();

「データベースに保存」ではなく「ファイルをダウンロードして上書き」という、一見アナログな手法を選んだのは、共有フォルダ上で誰でも確実にデータを永続化できる一番確実な方法だったからです。

UIデザインのこだわり

「うしろぽっけ」というブランドでは、日常に馴染む、安心感のあるデザインを大切にしています。

今回のツールも、多機能さを誇示するのではなく、清潔感があって誰にでも使いやすい、丸みのあるUIに整えました。また、PCだけでなくスマホやタブレットからも閲覧できるレスポンシブ仕様としています。

あえて「やらない」と決めたこと

エンジニアとして機能を盛り込みたい誘惑はありましたが、あえて以下の機能は省きました。

  • ログイン機能: アカウント管理の手間をゼロにするため
  • 同時編集機能: ファイル上書きというシンプルな構造を守るため

「小規模なチームが、明日から迷わずに使えること」にリソースの全てを割きました。

おわりに

このツールは「うしろぽっけ」の公式サイトで無料公開しています。

ズボンの後ろポケットに入っているハンカチのように、主役ではないけれど、困った時にサッと取り出して、ちょっとしたストレスを拭える存在。そんな「道具」を目指しました。

もし、身近な現場の「ファイル探し」に困っている方がいれば、ひとつの選択肢として検討いただければ幸いです。

▼ 詳細・ダウンロードはこちら https://ushiro-pocke.com/lp/portal-kit

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?