ロゴ

ロゴ

version 0728-5:58(ふるい)

the-project.zip

new!!!!!

the-project.zip

記録管理、スケジュール機能の修正、デバッグ文の削除をしました。

the-project.zip

モジュール

GITLABクローン

git clone <https://gitlab.cis.iwate-u.ac.jp/2023_g02/the-project.git>

URL集

2023 ソフトウェア設計及び演習用の班Wiki - FrontPage

Untitled

WebClass

https://iwateuacjp-my.sharepoint.com/:p:/g/personal/s0621006_iwate-u_ac_jp/EdlmAQQ5urVKjnSkpYTFdPEBjuGBZJS9yn4c65wn0SaAkg?e=KpDjhh

https://docs.google.com/document/d/1mVq6KOhaCw8gVWEtsQ9LD3-tB5lixEvtSbcZhVZAB4w/edit?usp=sharing

命名規則

全般的なベストプラクティス

mermaid-diagram-2023-05-19-142818.svg

  1. わかりやすい名前を使用して、コードの意図を明確にします。
  2. 短すぎず長すぎない名前を選びます。適切な長さは通常2~3単語です。
  3. 一貫性のある命名規則を使用し、プロジェクト全体で統一します。

やめたほうがいい名前の付け方

変数名や関数名を選ぶ際に、以下のような名前は避けるべきです。

予約語の使用

  1. 各言語には、特定の意味を持つ予約語が存在します。これらの語を変数名や関数名として使用しないでください。例: ifelsewhileclassreturn など。

一文字の変数名

  1. :一文字の変数名(例: abx)は、コードの可読性を低下させるため、避けてください。ただし、一部の場合(例: ループのカウンタ変数 i)では一般的に使用されます。

あいまいな名前

  1. 変数や関数の目的が不明確な名前は避けてください。例: tempdataresult など。より具体的な名前を使用しましょう。

無関係な名前

  1. 変数や関数の目的や役割と無関係な名前は避けてください。例: banana という名前の変数がユーザー情報を格納している場合。

数字を先頭に置く

  1. 変数名や関数名は数字で始めないでください。例: 1variable2ndFunction など。数字を含む場合は、名前の途中や末尾に置きましょう。

特殊文字やスペース

  1. 変数名や関数名には、英数字とアンダースコア(_)以外の特殊文字やスペースを使用しないでください。例: my*variablemy!function など。

ケースの混在

  1. ケースを混在させず、一貫した命名規則に従ってください。例: キャメルケース(myVariable)とケバブケース(my-variable)を混在させない。

注意すべき点として、変数名や関数名は、コードの意図を明確に伝えるために、短くても長すぎず、説明的で適切なものを選ぶことが重要です。

HTML:

  1. IDやクラス名にはケバブケース(例:my-element

またはキャメルケース(例:myElement)を使用します。

CSS:

  1. セレクタは小文字で記述し、複数の単語がある場合はケバブケースを使用します(例:.my-class-name)。
  2. プロパティ名は小文字で記述し、複数の単語がある場合はキャメルケースを使用します(例:background-color)。
  3. 値は適切な単位とともに記述し、カンマ区切りの場合は空白を1つ入れます(例:margin: 0 10px 20px 30px;)。

JavaScript:

  1. 変数名や関数名にはキャメルケースを使用します(例:myVariable, myFunction)。
  2. 定数名にはアッパーケースとスネークケースを組み合わせて使用します(例:MY_CONSTANT)。
  3. クラス名はパスカルケースを使用します(例:MyClassName)。
  4. ブール値を返す関数や変数には接頭辞 "is"、"has"、"should" を使用します(例:isReady, hasPermission)。

簡易仕様書

20230512_152106.jpg

機能別

参考

がんのがぞう

dinoになって砕けるがんちゃん

Djangoデータ追加コマンド

GITLAB ブランチ

がんちゃんのモデル

カウントダウンタイマー

サイドバー

ストップウォッチ

記録管理

スケジューラ

データベース設計

Python&Django環境構築

Djangoへの理解

モジュール別

モジュール図

eJxLL0osyFAIceJSUPDxjVZ63Lz2cdOGx01LHjdvfty86HHTjsfNSx8373ncvFopFqjGD6ym63Hz5MdNm0DiTdsfNy_HoTgEpLhpP9i0eWBxLGqC0RU17X7c3Py4uQOr6iA01c-3Tng2b86LFTNe9mzCpgGkHiL7fN3C5xPasKlxBpu5-nHzGrA_GnC41MdXQVdXASWEnu7rUQIK2gGDBRw2EAVIznvZuONZ1zyImhBfcJBgqHmxYu3TdbO.svg

データベース

データベースの全体図

mermaid-diagram-2023-05-19-151024.svg

Untitled (6).png

データベース設計

//ユーザーテーブル(Users)
CREATE TABLE Users (
    UserID INT PRIMARY KEY,
    UserName VARCHAR(255) NOT NULL,
    Email VARCHAR(255) UNIQUE NOT NULL
		HashedPassword VARCHAR(255) NOT NULL,
);

//時間記録テーブル(TimeRecords)
CREATE TABLE TimeRecords (
    RecordID INT PRIMARY KEY,
    UserID INT,
    RecordTime TIMESTAMP NOT NULL,
    FOREIGN KEY (UserID) REFERENCES Users(UserID)
);

//ガチャテーブル(Gacha)
CREATE TABLE Gacha (
    GachaID INT PRIMARY KEY,
    GachaName VARCHAR(255) NOT NULL,
    GachaDescription TEXT
);

//ガチャ有効化テーブル(GachaActivation)
CREATE TABLE GachaActivation (
    ActivationID INT PRIMARY KEY,
    UserID INT,
    GachaID INT,
    ActivationTime TIMESTAMP NOT NULL,
    FOREIGN KEY (UserID) REFERENCES Users(UserID),
    FOREIGN KEY (GachaID) REFERENCES Gacha(GachaID)
);
  1. Usersテーブル: これは主要なテーブルで、UserIDが主キーです。このテーブルは他の3つのテーブルと関連しています。
  2. TimeRecordsテーブル: このテーブルはUsersテーブルと関連しており、UserIDが外部キーとして使用されます。RecordIDが主キーです。
  3. Gachaテーブル: このテーブルはGachaActivationテーブルと関連しており、GachaIDが主キーです。
  4. GachaActivationテーブル: このテーブルはUsersテーブルとGachaテーブルの両方と関連しています。UserIDとGachaIDが外部キーとして使用され、ActivationIDが主キーです。

https://dbdiagram.io/d/64671567dca9fb07c45fa90b

その他

Djangoの仕組み図

https://viewer.diagrams.net/?tags={}&highlight=0000ff&edit=_blank&layers=1&nav=1#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

eJyVj01Lw0AQhu_-imG9KBhooyJUKCQsaEMlYD4uoYcxGdq1YXfZbGP8964bwdYeJMd553neYbYG9Q7y-AKgqFjRkWEbCAJgK6kPFnIaLHC0yFy4BJ5UjL-j3Cq2cQZPPJqRbP6SaVSxVJOMVpCR6b9rnZBGXnglezDyvPy38okkGbQEpRI1HUFlXDGfvakBrtaqxvbnwLW_UMbe59QKl436ef3JGnqB8Jy_rAHdHwn22NVG.svg