新潟大学の授業レビューサイトのバックエンドリポジトリです。レビューの登録ができます。
フロントエンドリポジトリはこちらです。
レスポンシブ対応をしています。
-
忙しい学生、授業情報を取得しにくい学生の力になりたい。
-
シラバスではわからない情報を共有することで、履修のミスマッチを減らしたい。
- 2023年6月 Reactで開発 リポジトリ: https://github.com/yu-yaba/Lecture-review-site
- 2023年9月 フロントエンドをNext.js, TypeScriptにリプレイス
- 以降、アップデートを続けています。
- キーワード検索
- 学部による検索
- 新しい順、レビュー件数順、評価が高い順で並び替え
領域 | 技術スタック |
---|---|
Frontend | Next.js, TypeScript |
Backend | Ruby on Rails (apiモード) |
Database | MySQL (JawsDB) |
Infra | Vercel Heroku AWS S3 |
Development | Docker |
|-- gatareview-front
|-- gatareview-back
|
|-- docker
| |-- <DBのデータが入る。docker-compose buildすると自動作成されるので、ディレクトリを作成する必要はない。>
|
|-- docker-compose.yml
|-- .env
- このリポジトリをクローンする
- フロントエンドリポジトリをcloneする
services:
gatareview-front: # Next.js用コンテナ
build:
context: ./gatareview-front
volumes:
- ./gatareview-front:/usr/src/app
command: 'npm run dev'
ports:
- "8080:3000"
gatareview-back: # Rails用コンテナ
build:
context: ./gatareview-back
ports:
- "3001:3000"
volumes:
- ./gatareview-back:/app
environment: # 環境変数の設定 .envファイルから取得
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_HOST: ${MYSQL_HOST}
depends_on:
- db
db: # Mysql用コンテナ
image: mysql:8.0.33
environment: # 環境変数の設定 .envファイルから取得
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- "./docker/db:/var/lib/mysql"
- docker-compose.ymlとRailsのdatabase.ymlのDBの設定値を管理するファイル
- ルートディレクトリ直下に作成する
- 任意の値を設定する
MYSQL_ROOT_PASSWORD=your_password
MYSQL_DATABASE=your_database
MYSQL_PASSWORD=your_password
MYSQL_USER=root
MYSQL_HOST=db
- Next.jsの環境変数を設定するファイル
- ここでは開発環境でapiにリクエストを送信する際の値を設定する
- gatareview-front直下に作成する
NEXT_PUBLIC_ENV=http://localhost:3001
- 初回起動時のみnode_modulesがないので以下を実行
docker-compose run --rm gatareview-front npm install
- コンテナをビルド
docker-compose up --build
- gatareview-backコンテナ内で、railsのマイグレーションを実行
docker-compose run --rm gatareview-back bin/rails db:migrate RAILS_ENV=development
- X(旧Twitter)でのSNS運用
- 大学でのビラ配り
- 履修登録相談会などのイベントへの参加