感謝のインフラ Thankspedia.js

サンクスペディア.js

サンクスペディア.js は、株式会社東京技術計算コンサルタント倉川 清志社長が提唱する「感謝のインフラ」を実現する為に作成されたフレームワークです。

世界を感謝の気持ちで溢れさせる為のインフラ基盤として設計されたサンクスペディア.jsは、オピニオネイテッド型フレームワークを採用、RPC(リモートプロシージャ呼び出し)を実装しました。 このアーキテクチャによりフロントエンドからシームレスにバックエンドのAPIを呼び出しが可能となり、迅速な開発が実現します。

サンクスペディア.jsは Node.js/Firefox/Chrome等々のESM2022以降のJavaScriptに対応した実行環境で動作します。

現在サンクスペディア.js は、株式会社東京技術計算コンサルタントにて社内で社員同士が感謝の気持ちをブロックチェーン上でやり取りし、賞与に反映する仕組み「サンクスペディア/tBC」を実装し、稼働中です。

特徴

  • AS/400 を理想としたアーキテクチャを模倣
  • 簡易性より安定性を重視した設計
  • フロントエンド/バックエンドを区別せずに同時に開発するスタイル
  • マルチユーザー・マルチオーガニゼーションの認証にデフォルトで対応
  • 自動バリデーション
  • ORM利用を強制しないデータベース駆動の開発
  • 実行時型チェック
  • フロントエンドでは、高速なVineを採用
  • バベルへの依存性を排除
  • ターミナル画面を基盤に置いたポータブルかつ軽量な開発環境

サンクスペディア.js は、従来のJavaScript開発での弱点だった実行型チェックに対応しています。 実行時に受け取った予期しないデータは、予想できない挙動を引き起こしトラブルシュートに時間が掛かりがちです。 これらの予期しない実行時の誤動作を検知し未然にエラーとして報告することが可能です。

モジュール一覧

サンクスペディア.js は約15個のモジュールによって構成されています。それぞれのモジュールは独立しており、個別に利用することが可能です。

Name Description
react-rerenderers.js フロントエンド・アプリケーションの為のフレームワーク
mixin-prototypes 多重継承を実現する。ユーザーが定義したAPIをバックエンド上で実行する為、実行時に全APIの結合を行う。
asynchronous-context 非同期関数の実行経路を追跡する為のフレームワーク。非同期関数として定義されたAPI関数群をcontextクラスと呼ぶ。
asynchronous-context-rpc RPC(リモートプロシージャコール)を実装するフレームワーク。contextクラスとして定義されたAPIをサービスとして起動する為のツール群を提供
authentication-context 認証を行う為のフレームワーク。 asynchronous-context 上で動作するcontextクラス。
database-postgresql-context PostgreSQLの呼び出しを行う。asynchronous-context 上で動作する context クラス
database-postgresql-query-builder asynchronous-context API を定義する為のテンプレートを生成する。現在利用されていない。
crypto-web-token フロントエンドアプリケーションの認証で利用する bearer トークン認証を実装する。
prevent-undefined タイプミスによる変数名間違い・フィールド名間違い等々のプログラム上のエラーを検知する。現在利用されていない。廃止予定。
fold-args 名前付き引数と引数オーバーライドを定義するフレームワーク。
runtime-typesafety 実行時型チェックを実現する。関数呼び出しの異常な入力値と異常な出力値を検出し、エラーとして報告する。
vanilla-schema-validator 非オピニオネイテッドなバリデーション処理を行う為のフレームワーク、及びツール郡を提供する。
sql-named-parameters PostgreSQLの為の SQL 名前付きパラメータを実装する。
sqlmacro SQL上で ASP/PHPのような動的SQL生成を実現するためのフレームワーク
randomcat 未使用。廃止予定。
beep 未使用。廃止予定。

Pinned Loading

  1. a new state management framework which allows you to decide when to render your components

    JavaScript

  2. a non-opinionated JavaScript schema validator/duck-typing based runtime type detector

    JavaScript

  3. This module protects your functions from `undefined` and offers information to diagnosis where the `undefined` come from.

    JavaScript

Repositories

Showing 10 of 20 repositories

  • thankspedia/vanilla-schema-validator’s past year of commit activity

    JavaScript 0 0

    1 0

    Updated Apr 6, 2026

  • ws-tether Public

    Implement persistent WebSocket connection

    thankspedia/ws-tether’s past year of commit activity

    JavaScript 0 MIT 0

    0 0

    Updated Mar 21, 2026

  • sqlmacro Public

    a stupidly simple template engine for SQL

    thankspedia/sqlmacro’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • sql-named-parameters Public

    This non-opinionated library transforms named parameters into traditional positional parameters.

    thankspedia/sql-named-parameters’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • runtime-typesafety Public

    This module protects your functions from `undefined` and offers information to diagnosis where the `undefined` come from.

    thankspedia/runtime-typesafety’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • react-rerenderers Public

    a new state management framework which allows you to decide when to render your components

    thankspedia/react-rerenderers’s past year of commit activity

    JavaScript 0 MIT 0

    0 0

    Updated Mar 21, 2026

  • thankspedia/randomcat’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • prevent-undefined Public

    a node module `prevent-undefined` makes objects to throw errors when any code refers an undefined propery on it.

    thankspedia/prevent-undefined’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • mixin-prototypes Public

    A yet another module to implement multiple inheritance with JavaScript

    thankspedia/mixin-prototypes’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026

  • fold-args Public

    a named arguments parser with a consistent robust protocol; via `folding` JavaScript argumenets in the sense of the computer language Scheme

    thankspedia/fold-args’s past year of commit activity

    JavaScript 0 0

    0 0

    Updated Mar 21, 2026