Git Product home page Git Product logo

introduction_mysite's People

Contributors

aya-taka avatar

Watchers

 avatar  avatar

Forkers

kawasaki-kk

introduction_mysite's Issues

ユーザー一覧リンク先の変更

概要

  • 現状のリンク先は"ユーザーの投稿一覧"
    • ユーザー個人のプロフィールnとして登録されている情報が少なく、リンクする意義が薄いため
  • ユーザープロフィール項目が増加すれば、リンクする意味が出てくるとも考える

対象

  • user_list.html中に生成されるユーザーページのリンク先を、ナビゲーションバー中の自ユーザーのプロフィールリンクと同様のものに変更
  • ただし、各ユーザーの投稿一覧へのリンクも必要
    • ユーザー情報ページとユーザーの投稿一覧ページの統合を検討する
      • coplaと似た形式

#2 コメントの修正が誰でもできる

変更対象:views.py,comment_xxx.html
変更メソッド:コメント詳細、コメント一覧

変更方法:

  • ボタン表示の無効化を日報一覧画面と同様に設定する
  • ユーザーidの認証をviewsで行う

#4 マークダウンへの対応

方法:

  • フロント側で対応する(予定)
    • 理由:
      • djangoモジュールとして存在するものの、簡単さに欠ける
      • djangoバージョン、およびpythonバージョンによって対応状況が異なり、"使える"ものを探すのが面倒
    • 詳細
      • markd.js?だったかを導入する
      • スクリプトを書く

未読/既読管理

概要

  • 現状、日報、及びユーザーは未読/既読の管理情報を持たない
  • 日報という体裁であるため、確認が行われたかどうかという要素が必要である
  • また、書く側のモチベーションとして、既読になっているという情報は有用である

対象

  • Daily(日報)モデルへ多対多フィールドを追加
    • 既読ユーザーの登録
    • daily_detailメソッドが呼ばれた際に、指定されたdailyレコードの該当項目にユーザーを登録する形か
    • 一覧表示の際には、多対多リスト上にリクエストユーザーがいない場合に何らかのフラグを送る形で区別を行うか?
  • User(ユーザー)モデルへの追加
    • こちらも実装した場合、「既読にした(実際に閲覧してはいない)」という状況を作り出すことができる
    • 優先度低

#5 タイトルバーの作成

アプリ名未定だが、いくつかの項目に対するショートカットを配置したい

ビジュアル的にもあったほうがよさそう

ユーザーパスワードの修正

概要

  • 現状、ユーザーはアプリケーション上で登録したパスワードを修正することができない
    • 管理サイトでは可能
  • 同時に、パスワードを忘れた場合の再設定方法(および手順)についても検討する必要がある

対象

  • パスワード変更用のテンプレートを作成し、ユーザー情報編集ページから移動可能にする
  • パスワードの再設定に関しては検討中

and検索の実装

概要

  • 現状、キーワード検索はor検索のみの実装である
    • 検索という単語から連想される結果としては、恐らく最も自然な結果が出力されると考える
    • "検索サイト"は関連度など様々な指標から判断しているのであろうが、省く
  • そのような状態であるか、and検索は一定の需要がある
    • 特に、条件で絞り込むような場面など
      • 「"python"かつ"django"を含む日報」など
    • 日付や状態といった条件による絞込みは、必要とされる部分(日報、タスク)については実装済みとする

対象

  • forms.py
    • 検索フォームの定義に検索方法の入力欄を追加する
      • チェックボックスを想定
      • デフォルト値としてor検索を指定
  • views.py
    • 検索フォームより入力された情報(mode / searchなどの名称)からデータを取得し、条件の指定方法を切り替える
    • "|"で指定している部分を"and"に置き換えたクエリ生成部分を追加し、指定によって切り替え
    • and検索の場合はキーワードごとのクエリを何度もfilterにかける

カレンダーウィジェットの独立

概要

  • タスクや日報の絞り込みに使用しているカレンダーは、django管理サイトで使用されるウィジェットを流用したものである
  • 管理サイトへアクセスできなければ(管理サイトが無効となっている状態)、ウィジェットは表示されない
    • その状態であってもYYYY-MM-DD形式の日付を直接入力することで絞り込むことは可能
  • djangoモジュールより、必要部分を抽出し、アプリケーションのstaticフォルダに配置したが、ウィジェットのデザインが崩れてしまった
    • カレンダーの形状が左に寄る、日本語表示できない("今日"ではなく"Today")など
    • YYYY-MM-DD入力は可能

対象

  • urls.py,base.html(,forms.py)
  • 1.新規にカレンダーを表示することのできるウィジェットを導入する
    • 検索したものの発見できず。検索継続。
  • 2.新規にウィジェットを作成する
    • 作業量が増えるため、非推奨
  • 3.管理サイト用ウィジェットの独立運用
    • 現状の「形状が崩れる」問題の原因として、スタイルシートの干渉、フォームを構成する要素(画像等)へのアクセス権の問題などが考えられる
    • 特に後者に対する検討を行う
  • 基本的には3番を最優先、並行してモジュールを検索していく形か

日報に対して投稿されたコメント数を表示

概要

  • coplaなどでも、記事に対してどれだけのコメントが投稿されているかという表示はある

対象

  • テンプレート上でアクセス可能か
    • {{daily.comment.count}}
  • 一覧画面に送る際にその要素を含める

#3 サイドバーの作成

サイドバーを作成する

要素:

  • ユーザー情報
  • カレンダー
  • 検索
  • and more...

方法:

  • css?
  • django的にはブートストラップでやれればうれしいけど

コメント関連:「コメントを書く」ボタンに関して

概要

  • 現状、日報一覧において、それぞれの日報には「詳細を見る」ボタンが配置されている
  • 対して、coplaを例にとると、各記事には「詳細を見る」ボタンではなく「コメントを書く」ボタンが置かれている
    • 「コメントを書く」ボタンをクリックした場合でも、記事のタイトルをクリックした場合と移動先に変わりはない
    • また、コメント欄が画面中心に来るといったこともない
  • ついては、"コメントを投稿することができる"ことを明確に示すうえでも「コメントを書く」ボタンを配置するべきかどうか

対象

  • daily_list.html
    • ボタンテキストの変更、または同じ場所へのリンクがあるボタンの追加
    • リンク先として、画面最下部まで移動するボタンの配置

ユーザー情報の追加

概要

ユーザー情報ページにおいて表示する情報を追加する

  • 現状は、ユーザー名(=ユーザーID)、姓名のみ
  • 新人日報という点から自己紹介欄などは必要か
  • 項目が増え次第、"ユーザー一覧"のリンク先を修正する必要があるとも考える

対象

  • 所属
  • 年齢
  • 所属年数
  • 投稿数
  • 趣味
  • 得意言語、キーワード等
  • 自己紹介
  • and more...

javascript?:JQuery関連のエラー

概要

  • 何かするたびにjQuery関連のエラーが出る
    • chromeの検証のコンソールなどを参照
  • django内部のjavascriptでエラーが起こっている模様
    • Uncaught TypeError: django.jQuery is not a function http://127.0.0.1:8000/static/admin/js/admin/RelatedObjectLookups.js
    • admin関連なのでカレンダーウィジェットが原因か?

対象

  • 不明

タスク:目標管理

概要

  • タスクモデルにおいて、"goal"及び"complete_goal"が定義されているものの、未使用
    • "タスクを単純に管理する"ことが目的の一つであり、目標の入力から完了判定までの流れは、オプション程度の優先度であった
    • 目標とその完了状態を表示するのは、画面のデザインとして入力項目が増えるために敬遠された
  • 利用したい理由として、やったこと/つぎにやることにおいて、反省点、つぎにどう生かすのかという点を意識するきっかけになるものであると考えるから
    • 例えば、"時間通り実施する"という目標について
      • やったことにおいて、その目標が達成できた/達成できなかった理由は何かを記述し、つぎにやることにおいて、達成できなかった理由を意識させるようなコメントを書く
      • つぎにやるタスクに対し、改善するための目標を設定する、等
    • また、各タスクについて、目標を設定することで、タスクそのものを意識する理由になるとも考える

対象

  • タスク一覧画面の表示項目に目標と目標の達成状態を追加
    • 二行目(実施日、作業名の下)を想定
  • 今日のタスクパネルに目標と目標の達成状態を更新するチェックボックスを配置
  • 明日のタスクパネルに目標の入力/編集欄を追加
  • パネルにおける表示は、そのタスクが選択された場合に表示する形式を推奨
    • 常時表示だと画面中の情報量が多い
    • jsでの対応?
      • css styleをクリックで切り替える形式か

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.