個人制作の案件管理システム PIMS をGitHubで公開しました。
公開URLはこちらです。
https://github.com/ishuji/pims
PIMSは、問い合わせ受付から見積、受注、制作進行、納品、入金確認までをまとめて管理するための、軽量なWebベースの案件管理ツールです。
もともとは自分の制作業務を整理するために作ったものですが、同じように個人事業や小規模な制作業務を行っている方にも参考になる部分があるかもしれないと思い、ソースコードを公開しました。
PIMSでできること
PIMSでは、主に以下のような情報を管理できます。
- 問い合わせ受付
- 対応状況
- 次回確認日
- 見積・受注・制作中・確認中・納品済み・入金待ち
- 完了案件
- ボツ案件
- 本日確認すべき案件
- 案件スケジュール
- クライアント情報
- 担当者情報
- 申し送りや注意メモ
- 契約・約束事の記録
制作業務では、問い合わせ、見積、受注、納品、入金確認が別々のメモや表に分かれがちです。PIMSは、それらをひとつの流れとして扱えるようにすることを目的にしています。
技術構成
PIMSは、Python製のWebアプリです。
主な構成は以下です。
- Python
- FastAPI
- Jinja2
- SQLite
- pandas / openpyxl
- HTML / CSS / JavaScript
データ保存は、基本的にSQLiteを想定しています。従来のExcel管理に近い運用もできるように、XLSX形式にも一部対応しています。
使い方
GitHubからソースコードを取得します。
git clone https://github.com/ishuji/pims.git
cd pims
Pythonの仮想環境を作成します。
python -m venv .venv
仮想環境を有効化します。
macOS / Linuxの場合:
source .venv/bin/activate
Windowsの場合:
.venv\Scripts\activate
必要なパッケージをインストールします。
pip install -r requirements.txt
設定ファイルを作成します。
cp config.example.json config.json
Windowsの場合は、config.example.json をコピーして config.json という名前に変更しても構いません。
アプリを起動します。
uvicorn main:app --host 0.0.0.0 --port 8001
ブラウザで以下にアクセスします。
http://127.0.0.1:8001
初回起動後は、設定画面からデータベースを作成して使用します。
注意点
PIMSは、現時点では個人利用・ローカル利用を前提にしたツールです。
ユーザー認証や権限管理は内蔵していません。そのため、インターネット上にそのまま公開して運用することは想定していません。
外部からアクセスできるサーバーで使う場合は、VPN、リバースプロキシ認証、HTTPS、アクセス制限などを別途設定する必要があります。
また、実際の案件データ、顧客情報、設定ファイル、データベースファイルなどはGitHubには含めていません。公開しているのは、アプリケーション本体のソースコードです。
公開した理由
案件管理は、専用サービスを使えば便利ですが、小規模な制作業務では「そこまで大げさなものはいらない」と感じることもあります。
一方で、Excelやメモだけで管理していると、問い合わせの追跡、見積後の確認、納期、入金確認などが散らばりやすくなります。
PIMSは、その中間にあるようなツールです。
自分にとって必要な機能を、自分の業務に合わせて作っていく。そういう個人制作ツールとして公開しています。
ソースコードはこちらです。
https://github.com/ishuji/pims
必要に応じて、改造・参考・学習用途などに使ってください。
