前期提出課題

プロジェクト

プロジェクト名: se3NN (NN は学籍番号の下2桁)
パッケージ名: jp.abc

MyBootApp と同様のWebアプリケーションを作成する。
MyDataのかわりに、Userクラスを作成し、MsgDataクラスの代わりに Tweetクラスを作成する。

作成するページとURL

トップページ: http://localhost:8080/
ユーザー一覧&ユーザー登録: http://localhost:8080/user/
ユーザー編集ページ: http://localhost:8080/edit/{id}
ツイート一覧&ツイート投稿: http://localhost:8080/tweet/

エンティティ

User
・id – Long
・name – String
・profile – String
・tweets – List<Tweet>
Tweet
・id – Long
・time – java.util.Date
・content – String
・user – User

作成するHTMLテンプレート

  • index.html : トップページ
  • user.html : ユーザー一覧&ユーザー登録ページ
  • edit.html : ユーザー編集ページ
  • tweet.html : ツイート一覧&ツイート投稿ページ

トップページの内容

  • titleとh1タグに番号と名前を書くこと
  • ユーザー一覧&ユーザー登録ページへのリンクを作成
  • ツイート一覧&ツイート投稿ページへのリンクを作成

ユーザー一覧&ユーザー登録ページの内容

  • titleとh1タグに番号と名前を書くこと
  • h1のすぐ下にトップページへのリンクを作成
  • 入力フォームで名前(name)と自己紹介(profile)を入力できる
  • 自己紹介はtextareaにすること
  • 名前は1文字以上30文字以下
  • 自己紹介は1文字以上200文字以下
  • 送信ボタンを表示
  • 入力フォームの下に、登録済みユーザー一覧を表示する
  • ユーザー一覧にはID、名前、編集ページへのリンクを表示する

ユーザー編集ページの内容

  • titleとh1タグに番号と名前を書くこと
  • h1のすぐ下にトップページへのリンクを作成
  • 入力フォームに編集前の名前と自己紹介を表示
  • 入力フォームで名前と自己紹介を入力できる
  • 送信ボタンを表示

ツイート一覧&投稿ページの内容

  • titleとh1タグに番号と名前を書くこと
  • h1のすぐ下にトップページへのリンクを作成
  • 入力フォームで投稿内容(content)を入力できる
  • 投稿は1文字以上140文字以下
  • 投稿欄はtextareaにすること
  • 送信ボタンを表示
  • 日時はフォームに用意せず、コントローラが現在時刻を設定する
  • 入力フォームの下に、投稿済みツイート一覧を表示する
  • 投稿一覧にはID、名前、日時、投稿内容を表示する

application.properties

spring.datasource.url=jdbc:hsqldb:hsql://localhost/se3NN  ←NNは学籍番号の下2桁
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.HSQLDialect
spring.jpa.hibernate.ddl-auto=update

hsqldb.bat
データベースインスタンスを追加する。
インスタンス名は se3NN (NNは学籍番号の下2桁)

cd (hsqldbの置き場所)\lib
java -cp hsqldb.jar org.hsqldb.Server --database.0 db/mydata --dbname.0 mydata --database.1 db/se3NN --dbname.1 se3NN

課題提出方法

プロジェクトを作成したフォルダを、エクスプローラで開く。

フォルダ「se3NN」(NNは学籍番号の下2桁)を右クリックし、[送る]-[圧縮(zip 形式)フォルダー]を選択する。
se3NN.zip ファイルができるので、そのファイルを提出する。

提出先

サーバーの以下のフォルダに提出。

\\stfs\ABKC\課題提出用\澤田\2019_SE3\課題提出

配点

接続先データベースや、プロジェクト名、番号・名前の間違いは、他人のものをコピーしたと判断し0点。
コピペもOKだけど最低限ができてなければ論外。
Webサイトを作って納品してもサイト名や会社名が間違ってたら、まず次の仕事はない。

  1. トップページ : 10点
    • titleとh1に番号と名前
    • ユーザーページへのリンク
    • 投稿ページへのリンク
  2. ユーザー一覧&ユーザー登録(GET) : 10点
    • titleとh1に番号と名前
    • 入力フォーム
    • 送信ボタン
    • ユーザー一覧
    • トップページへのリンク
  3. ユーザー一覧&ユーザー登録(POST) : 10点
    • 名前のエラーチェック
    • 自己紹介のエラーチェック
    • エラーメッセージ
    • データベースに保存
  4. ユーザー編集(GET) : 10点
    • titleとh1に番号と名前
    • 入力フォーム
    • 送信ボタン
    • トップページへのリンク
  5. ユーザー編集(POST) : 10点
    • 名前のエラーチェック
    • 自己紹介のエラーチェック
    • エラーメッセージ
    • データベースに保存
  6. ツイート一覧&投稿(GET) : 10点
    • titleとh1に番号と名前
    • 入力フォーム
    • 送信ボタン
    • ツイート一覧
    • トップページへのリンク
  7. ツイート一覧&投稿(POST) : 10点
    • 投稿内容のエラーチェック
    • 現在時刻を自動設定
    • エラーメッセージ
    • データベースに保存
  8. ツイート一覧で投稿者名が表示される(エンティティの連携) : 10点
  9. エラーメッセージの日本語化(全部できていれば) : 10点
  10. ツイート投稿でSELECT/OPTIONでユーザーを選択できる : 10点
  11. ツイート一覧でIDと名前の下に投稿が表示される : 10点
  12. ツイート一覧で複数行投稿がきちんと表示される : 10点
  13. トップページに授業の感想・意見を書く : 1〜20点

※1〜8はプログラムで採点しています。なので、1〜8の部分点はありません。
※14の授業の感想・意見は参考になった度合いで加点します。
※配点の総合計は100点を超えてますが、最大は100点です。

提出期限

7月19日(金)17:00

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください