Skip to main content

A simple Flask-based database viewer and manager

Project description

Monitor App 🚀

Monitor App は、CSV データをデータベースに取り込み、Webブラウザで閲覧できるシンプルなアプリケーションです。
SQLite / MySQL / PostgreSQL に対応し、startproject コマンドでプロジェクトを作成できます。
このプロジェクトはFlask, Djangoに非常にインスパイアされており、特にFlaskをベースとしたライブラリです。
Python初学者の多い製造業にて、より短期間でWebアプリを作成することを目的に開発しています。

📌 特徴

  • monitor-app startproject で新しいプロジェクトを作成
  • CSV データをSQLiteに簡単に変換
  • Web UI でデータを表示
  • Flask-SQLAlchemy を使用し、SQLite / MySQL / PostgreSQL に対応
  • Bootstrap を使用したスタイリッシュな UI
  • config.py でカスタマイズ可能

🚀 インストール方法

pip install で簡単にインストールできます。

pip install monitor-app

🔧 使い方

1️⃣ 新しいプロジェクトを作成

monitor-app startproject <プロジェクト名>

📌 例: my_projectという名称でテンプレートを作成

monitor-app startproject my_project

my_project フォルダにMonitor-appアプリのテンプレートが作成されます。

2️⃣ CSV をデータベースに登録

cd my_project
python <プロジェクト名>/app.py import-csv

csv/ フォルダのCSVをSQLiteデータベースに変換します。

3️⃣ Web アプリを起動

python <プロジェクト名>/app.py runserver

http://127.0.0.1:9990 にアクセス!

📌 runserver のオプション

オプション 説明
--csv CSV を登録してから起動する
--debug デバッグモードで起動する
--port <PORT> ポートを指定する(デフォルト: 9990)

📌 例: CSV を登録後に起動

python <プロジェクト名>/app.py runserver --csv

📌 例: デバッグモードでポート 8000 で起動

python <プロジェクト名>/app.py runserver --debug --port 8000

📂 フォルダ構成

my_project/
│── monitor_app/
│   ├── app.py           # Flask アプリのメインファイル   ├── cli.py           # テンプレート作成用のコマンドファイル   ├── csv_to_db.py     # CSV をデータベースにインポートするスクリプト   ├── config/
│       ├── config.py   # 設定ファイル   ├── templates/       # HTML テンプレート   ├── static/          # CSS / JavaScript / 画像   ├── csv/             # CSV データを保存するフォルダ   ├── instances/       # SQLiteデータベースの保存先
│── pyproject.toml       # Poetry の設定ファイル
│── README.md            # このファイル

🔧 config.py の設定

プロジェクトの設定は config/config.py で変更できます。

📌 データベースの設定

# SQLite(デフォルト)
SQLALCHEMY_DATABASE_URI = "sqlite:///instances/database.db"

# MySQL を使用する場合
# SQLALCHEMY_DATABASE_URI = "mysql+pymysql://user:password@localhost/dbname"

# PostgreSQL を使用する場合
# SQLALCHEMY_DATABASE_URI = "postgresql://user:password@localhost/dbname"

📌 カスタムテーブルと JOIN の設定

ALLOWED_TABLES = {
    "users": {"columns": ["id", "name", "email"], "primary_key": "id"},
    "products": {"columns": ["id", "name", "price"], "primary_key": "id"},
    "orders": {
        "columns": ["id", "user_id", "product_id", "amount"],
        "primary_key": "id",
        "foreign_keys": {"user_id": "users.id", "product_id": "products.id"},
        "join": '''
            SELECT orders.id, users.name AS user_name, products.name AS product_name, orders.amount
            FROM orders
            JOIN users ON orders.user_id = users.id
            JOIN products ON orders.product_id = products.id
        ''',
    },
}

📌 monitor-app の CLI コマンド一覧

コマンド 説明
monitor-app startproject <name> 新しいプロジェクトを作成
monitor-app import-csv CSV をデータベースに登録
python <プロジェクト名>/app.py Web アプリを起動
python <プロジェクト名>/app.py --csv CSV 登録後に起動
python <プロジェクト名>/app.py --port <PORT> 指定ポートで起動

📌 必要な環境

  • Python 3.10+
  • Flask, Flask-SQLAlchemy, pandas, click
  • Poetry (開発環境)

📌 ライセンス

MIT ライセンスのもとで提供されています。


📌 貢献

Pull Request 大歓迎!🚀
バグ報告や改善提案もお待ちしています!

🔗 GitHub: Monitor App Repository


これで monitor-app を簡単にインストール&利用できるようになります! 🚀

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

monitor_app-0.1.7.tar.gz (734.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

monitor_app-0.1.7-py3-none-any.whl (736.7 kB view details)

Uploaded Python 3

File details

Details for the file monitor_app-0.1.7.tar.gz.

File metadata

  • Download URL: monitor_app-0.1.7.tar.gz
  • Upload date:
  • Size: 734.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/24.2.0

File hashes

Hashes for monitor_app-0.1.7.tar.gz
Algorithm Hash digest
SHA256 ea98017426ce74ba338d1eef53ab4bd1514079c78af0be2e1516d1f1a999f31c
MD5 7ccde31c3c2f9182885718680356e5c9
BLAKE2b-256 566ce71d3d5dd0e3a3fb50194b5cbb2ba8d6a56a58013b02655ca13aeef0bd51

See more details on using hashes here.

File details

Details for the file monitor_app-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: monitor_app-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 736.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/24.2.0

File hashes

Hashes for monitor_app-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 dc979f9a61012b830bfb1872e70711bca6fed48c25383bfe6ad181ddbb37f41f
MD5 e610feae589ff338e793bd1c501c5022
BLAKE2b-256 84183d73abd2dd84e42a90f1761062671fc394212e21cd78ae7b7608547b8779

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page