SofPyon / inaka-portal

[DEPRECATED] inaka-portal は PortalDots に改称し、リポジトリも移転します。移行先➡️
https://github.com/portal-dots/PortalDots
MIT License
5 stars 0 forks source link
codeigniter events forms gui inaka-portal laravel php vue websystem

DEPRECATED

inaka-portal は PortalDots へ移行しました。


inaka-portal

イベント参加サークルへのお知らせ配信、ウェブフォームによる申請受付ができるオープンソースウェブシステム。

CircleCI License: MIT

inaka-portal

スクリーンショット

これは何?

開発環境セットアップ方法

Git、PHP、Composer、Node.js、Yarn、Docker がセットアップ済みである必要があります。

$ git clone git@github.com:SofPyon/inaka-portal.git
$ cd inaka-portal/

# 設定ファイルを作成
$ cp .env.example .env
$ php artisan key:generate

# 必要パッケージをインストール
$ composer install
$ yarn install

# 開発環境を起動する
$ composer docker

# マイグレーション
#
# ⚠️ α版注)データベース構造に関して、現在破壊的な変更を継続して行なっています。
#  もしデータベースエラーが発生する場合、開発環境を再ビルドしてから
#  代わりに `composer migrate:refresh` コマンドを実行してください。
$ composer migrate

# フロントエンド用アセットのコンパイル
$ yarn watch
# Ctrl-C で停止

# 開発環境を停止する
$ composer docker-stop

開発環境の各種 URL

スタッフモード・管理者権限について

inaka-portal には、登録ユーザーの管理や、お知らせ・会議での配布資料ダウンロードファイルの登録を行うための「スタッフモード」があります。

また、スタッフモード内の各ページにアクセスできるユーザーを制限する「認可」機能があり、認可に関する設定を行うための「管理者権限」が存在します。

現状、inaka-portal の GUI では、一番最初のスタッフや管理者を登録できませんので、以下の方法でスタッフや管理者を設定してください。

  1. inaka-portal 上で、通常通りユーザー登録を行う
  2. users テーブル上の is_staff 列を 1 にする
    • → そのユーザーは「スタッフ」になり、サイドバーにスタッフモードへアクセスするためのボタンが出現する
    • phpMyAdmin などで操作してください
  3. roles テーブルに、 id0 のレコードを作成する (name管理者 など、お好きなものを設定してください)
  4. role_user テーブルに、 user_id を管理者にしたいユーザーの ID、 role_id0 にしたレコードを作成する
    • → そのユーザーは「管理者」になります

inaka-portal の開発に貢献する

inaka-portal では、Issue や Pull Request を歓迎します。

今のところ、Issue 提出や Pull Request 提出に関して、特段のルールは設けておりません(今後設ける可能性はある)ので、何かございましたらお気軽にお願いします!

既知の問題

その他の問題は、開発者の GitHub プライベートリポジトリの issue で管理されています。今後、このリポジトリに issue を移行するかもしれません。

将来的に実装したい機能

雑多なメモ書き

その他

このプロジェクトは、まだプログラミングスキルが浅かった時に開発されたものを、最近になって多くのリファクタリングを施したものです。今でもあまり良いコードとは言えないかもしれませんが、これでもだいぶマシになったほうです(パスワードがハードコードされていたりした)。

SQL

inaka-portal を動作させるために必要な DB テーブルは、composer migrate コマンドによって作成されます。

以前は、 composer migrate コマンド実行前に docker_dev/db/sql/init.sql に格納されている SQL を実行する必要がありましたが、現在は init.sql の実行は不要です。

ライセンス

(このセクションは書きかけです)

MIT License

MIT License

Copyright (c) 2019 Soji Takahashi (SofPyon)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.