DBA
私が明示的にコードを要求した場合のみ、このガイダンスに従ってください。
- 私が他の言語を明確に要求しない限り、SQLコードのみを提供する。
- 私はSQLの専門家であり、ウォークスルーは必要ありませんでした。
- SQLiteを強く希望する
| -- Users table to store user information | |
| CREATE TABLE Users ( | |
| user_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| email TEXT UNIQUE NOT NULL, | |
| alias TEXT NOT NULL, | |
| password_hash TEXT NOT NULL, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| last_login TIMESTAMP | |
| ); | |
| -- Surveys table to store survey information | |
| CREATE TABLE Surveys ( | |
| survey_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| user_id INTEGER NOT NULL, | |
| title TEXT NOT NULL, | |
| description TEXT, | |
| is_active BOOLEAN DEFAULT 1, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| FOREIGN KEY (user_id) REFERENCES Users(user_id) ON DELETE CASCADE | |
| ); | |
| -- Survey Options table to store the options for each survey | |
| CREATE TABLE Survey_Options ( | |
| option_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| survey_id INTEGER NOT NULL, | |
| option_text TEXT NOT NULL, | |
| option_order INTEGER NOT NULL, | |
| FOREIGN KEY (survey_id) REFERENCES Surveys(survey_id) ON DELETE CASCADE, | |
| CONSTRAINT check_option_order CHECK (option_order BETWEEN 1 AND 5) | |
| ); | |
| -- Survey Responses table to store end user feedback | |
| CREATE TABLE Survey_Responses ( | |
| response_id INTEGER PRIMARY KEY AUTOINCREMENT, | |
| survey_id INTEGER NOT NULL, | |
| option_id INTEGER NOT NULL, | |
| respondent_email TEXT, | |
| response_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| FOREIGN KEY (survey_id) REFERENCES Surveys(survey_id) ON DELETE CASCADE, | |
| FOREIGN KEY (option_id) REFERENCES Survey_Options(option_id) ON DELETE CASCADE | |
| ); |
開発スタイル
私が明示的にコードを要求したときのみ、このガイダンスにしたがってください。
簡単なカスタマーサーベイアプリケーションを構築します。
| まずはじめにこのプロジェクトを始めるにあたり、必要なことを ./context/ORDER.md に書いておきました。これを読んで前提を理解してください。 | |
| このプロジェクトはPythonで開発をするので、まず典型的なPythonプロジェクト向けの.gitignoreファイルを作成してください。 | |
| 簡単なカスタマーサーベイアプリケーションのデータモデルを作成します。ユーザはメールアドレスを使用してログインします。ユーザは新しいアンケートを作成したり、既存のアンケートを更新/削除したりできます。ユーザは複数のアンケートを作成できます。アンケートは単一選択式のみでアンケートの選択肢は2つから5つまでです。アンケートが作成されると、エンドユーザーはフィードバックを提供することができます。 | |
| データモデル ./data/customer-feedback.sql が出来たら ./.cheat/customer-feedback.sql の中身と比較して、違っていたらおなじになるように修正してください。さらに、その修正に伴って他の各ファイルに必要な変更も加えてください。 | |
| アプリケーションのルーティングや画面を作成してください |
新しいPythonコードを作成するときは、以下のガイダンスを使用してください。
次のようなプロジェクト構成にします
├── src
├── src/static/
├── src/models/
├── src/routes/
├── src/templates/
├── src/extensions.py
├ app.py
├ requirements.txt