Skip to content

Latest commit

 

History

History
156 lines (106 loc) · 4.81 KB

README_old.md

File metadata and controls

156 lines (106 loc) · 4.81 KB

ctrl_public_webpage

東京都市大学コンピュータ技術研究会の公式ホームページです。 投稿された作品や活動報告を見たり、フォームから問い合わせを行ったりすることができます。

URLはhttps://home.tcu-ctrl.jpです。

使用するツール

  • docker
  • node.js

setup

Node.js導入

Node.jsを直接インストールしても大丈夫ですが、nvm(Node.jsのバージョン管理ツール)を通してもらった方が後々楽かもしれないです。

本サイトで使用するNode.jsのバージョンは.nvmrcに記載されています。以下nvmでの導入手順です。

windows版

https://github.com/coreybutler/nvm-windows

mac版

brew install nvm

各環境でnvmの導入が完了したら以下コマンドをプロジェクトのルートディレクトリで実行することで指定されたバージョンのnode.jsに環境が切り替わります。

nvm use

アプリケーションの起動にyarnが必要となるため、インストールします。

npm install -g yarn

MariaDB導入

本サイトはデータベースにMariaDBを使用しています。

docker-compose.ymlを用意してあるので、これを使ってもらえれば大丈夫です。

以下コマンドを実行してください。実行させるだけで、DBの中での作業は必要ありません。

docker-compose up -d # MariaDBを起動

アプリケーション起動

yarn install # 初回のみ
yarn build
yarn start

開発時は以下コマンドで起動するとホットリロードされるので楽です。

yarn dev

起動後、各ブラウザにてlocalhost:3000を開いてサイトのトップ画面が正常に表示されるか確認してください。

ユーザの作成方法

api/manualControllers/users配下にuser_data.jsonを作成してください。

ファイルを開いて以下の通り記載します。

[
    {
      "username": "hoge",
      "password": "hoge",
      "twitter_id": "@hoge"
    }
]

保存後、api/manualControllers/usersにて以下のコマンドを実行します。

node createUser.js

dev flow

developブランチよりfeatureブランチを切ってから作業をしてください。(今のところブランチ名に決まりはありませんが、feature/<作業内容>という形式にしてもらえると後から見ても分かりやすいと思います。)

作業が完了したらdevelopmasterブランチへマージしてください。

変更内容に不安がある場合はdevelopブランチに向けてPRを作成してください。(レビュワーにはpolyester-CTRLrin-ctrlを指定してください。)

ディレクトリ構成

ディレクトリは大まかにapiとclientに分かれています。apiがバックエンド、clientがフロントエンドのコードです。

api

  • config
    • cache : キャッシュ
    • data : 作品、活動報告のファイルを保存
    • key : 外部サービスのapiキーなど
    • passport : ユーザ認証のためのコード
  • controllers : リクエストに応じた処理を実装する
  • manualControllers
    • publication : 進捗スライドの公開ツール
    • show : データベースの閲覧ツール
    • users : 新規ユーザの作成ツール

client

  • assets
    • data : 作品、活動報告のデータ
    • img : 画像データ
    • scss : グローバルCSSのファイル
    • text : テキストデータ
  • components : コンポーネントファイルを入れる
    • publication : 進捗スライド用
    • ui : cardやheadlineなどの汎用的なUIのコンポーネント
  • layouts : 全体のレイアウトをまとめるVueファイルがある
  • middleware : ミドルウェアを入れる
  • pages : Viewファイル、ルーティングファイルを入れる
  • plugins : axiosやelement-uiなどのプラグインを入れる
  • static : faviconなど変更頻度の低いファイルを入れる
  • store : Vuexストアのファイル
  • test : テスト用コード

その他

  • node_modules
  • server : サーバを起動する時はまずこの中のファイルを起動する

重要なファイル

  • nuxt.config.js : Nuxt.jsの設定を記述
  • package.json : 依存するパッケージやスクリプトを記述
  • yarn.lock : yarnの設定が保存されたファイル。
  • .gitignore : gitで管理したくないファイルの名前を記述
  • docker-compose.yml : dockerの設定を記述
  • .nmvrc : NVMでNode.jsのバージョン管理を行うためのファイル

DB設計

prisma/schema.prismaを確認してください。

Slackとの連携

coming soon...