Skip to content
Z00One edited this page Nov 6, 2023 · 26 revisions
logo

1. サービス紹介

大学ESG実践フォーラムウェブサイト



2. チームメンバー紹介

キム・ユミン イ・ジェイル カン・ジュウォン イ・ジュヒョン
ユミン ジェイル ジュウォン ジュヒョン
Project Leader Frontend Full-Stack Full-Stack


3. コア機能

  • 会員登録/ログイン機能
    • 管理者が登録許可しなければログインできないように実装
  • 投稿機能
    • quillスマートエディタを使用して多数の画像、ファイル添付可能
    • 管理者だけ投稿できるように実装
  • 管理者機能
    • 委員会、委員会メンバー管理
    • 一般会員入会手続き


4. ERD設計

erd

5. プロジェクト構造

stru



6. 技術スタック

フロントエンド

React TailwindCSS

バックエンド

Laravel MySQL

配布

Docker Nginx AWS

+AWS EC2 AWS S3

コラボレーションツール

Git GitHub Visual Studio Code Gather


7. Git Branch 戦略

# main
# develop
# feature


8. Commit Message コンベンション

# feat : 新機能のコミット
# fix : バグ修正のためのコミット
# build : ビルド関連ファイル修正のコミット
# chore : その他細かい修正のコミット(その他変更)
# ci : CI関連設定修正のコミット
# docs : ドキュメント修正のコミット
# style : UIスタイルに関するコミット
# refactor : コードのリファクタリングに対するコミット
# test : テストコードの修正に対するコミット
# init : プロジェクト開始のコミット
# release: リリースへのコミット
# plus : add dependency
# minus : remove dependency

9. API文書

[Login]
- ログイン (Login)
    - endpoint: `/api/auth/login`
    - method: POST
    - request body: `email`, `password`
- ログアウト (Logout)
    - endpoint: `/api/auth/logout`
    - method: POST
- アクセストークン更新 (Refresh Token)
    - endpoint: `/api/auth/refresh_token`
    - method: POST
    - request body: `refreshToken`
- 新規登録 (Register)
    - endpoint: `/api/auth/register`
    - method: POST
    - request body: `name`, `affiliation`, `email`, `password`


[Business]
- ビジネス一覧取得 (Get Business List)
    - endpoint: `/api/business`
    - method: GET


[User]
- プロフィール情報取得 (Get Profile Information)
    - endpoint: `/api/profile`
    - method: GET


[Committee]
- コミットメンバー取得 (Get Committee Members)
    - endpoint: `/api/getMember`
    - method: GET


[Admin]
- 管理者チェック (Check if Admin)
    - endpoint: `/api/isAdmin`
    - method: GET


  [Statistical data] (管理者権限が必要)
  - 総委員会数取得 (Get Total number of committees)
      - endpoint: `/api/committees/count`
      - method: GET

  - 総会員数取得 (Get Total number of members)
      - endpoint: `/api/members/count`
      - method: GET


  [Committee] (管理者権限が必要)
  - 委員会一覧取得 (Get Committee List)
      - endpoint: `/api/committees`
      - method: GET

  - 委員会の追加 (Add Comittee)
      - endpoint: `/api/committees`
      - method: POST
      - request body: 
          - `name` (string): 委員会の名前
          - `explanation` (string): 委員会の説明

  - 委員会ページ取得 (Get Comittee)
      - endpoint: `/api/committee/{id}`
      - method: GET

  - 委員会情報の修正 (Update Comittee)
      - endpoint: `/api/committee/{id}`
      - method: PUT
      - request body: 
          - `name` (string): 委員会の名前
          - `explanation` (string): 委員会の説明

  - 委員会の削除 (Delete Comittee)
      - endpoint: `/api/committee/{id}`
      - method: DELETE


  [Committee's Member] (管理者権限が必要)
  - 委員会の会員一覧取得 (Get Committee's member List)
      - endpoint: `/api/committee/{id}/members`
      - method: GET

  - 委員会の会員追加 (Add Committee's member)
      - endpoint: `/api/committee/{id}/members`
      - method: POST
      - request body:
          - `name` (string): 会員の名前
          - `explanation` (string): 会員の説明

  - 委員会の会員修正(委員長の任命) (Update Committee's member)
      - endpoint: `/api/committee/{c_id}/members/{m_id}`
      - method: PUT

  - 委員会の会員削除 (Delete Committee's member)
      - endpoint: `/api/committee/{c_id}/members`
      - method: DELETE
      - request body: 
          - `ids`(number[]): 削除する委員会の会員のID配列


  [Forum's Member] (管理者権限が必要)
  - サイト登録申請者一覧取得 (Get Applicant list)
      - endpoint: `/api/applicants`
      - method: GET

  - フォーラムの会員一覧取得 (Get Member list)
      - endpoint: `/api/members`
      - method: GET

  - フォーラムの会員追加 (Add Member)
      - endpoint: `/api/members`
      - method: POST
      - request body:
          - `name`(string): 会員の名前
          - `affiliation`(string): 会員の所属

  - フォーラムの会員の情報修正 (Update Member)
      - endpoint: `/api/members`
      - method: PUT
      - request body:
          - `id`(integer): 会員番号
          - `note`(string): 会員のフォーラムでの役職

  - フォーラムの会員削除 (Delete Member)
      - endpoint: `/api/members`
      - method: DELETE
      - request body: 
          - `ids`(number[]): 削除するフォーラムの会員のID配列

  - サイト登録申請者の登録申請許可 (Approve Applicant)
      - endpoint: `/api/approval`
      - method: PUT

  - サイト登録申請者の登録申請拒絶 (Reject Applicant)
      - endpoint: `/api/rejection`
      - method: PUT