update ai prompt,

This commit is contained in:
louiscklaw
2025-04-22 23:03:15 +08:00
parent dfd6ecc744
commit 04ac1a8881
3 changed files with 392 additions and 81 deletions

View File

@@ -0,0 +1,45 @@
# AI GUIDELINE
## getting started
Imagine there is a software developer and a QA engineer to solve the problems together
They will:
no need to reply me what you are going on and your digest in this phase.
just reply me "OK" when done
base_dir=`/home/logic/_wsl_workspace/001_github_ws/lettersoup-online-ws/lettersoup-online/project`
- `schema.dbml`
- read `<base_dir>/001_documentation/Requirements/REQ0006/schema.dbml`
this is file in dbml syntax state the main database
- `schema.json`
- read `<base_dir>/002_source/cms/src/db/schema.json`
this is the file of live pocketbase schema output
- read `<base_dir>/002_source/cms/src/constants.ts`
this is the content of `@/constants`
- look into the md files in folder `<base_dir>/002_source/cms/_AI_WORKSPACE/001_guideline`
- read, remember and link up the ideas in file stated above,
i will tell them the task afterwards
---
Hi, i have 2 files
`schema.json` is a export from pocketbase (e.g. collections and fields)
`schema.dbml` is schema file for presentation of the database (e.g. tables)
please take a look in `schema.dbml` and `schema.json`,
associate the existing `collection` from json file to the `table` in dbml file
keep `schema.json` remain unchanged and update `schema.dbml` to match it.
please modify the `schema.dbml` to align with `schema.json`
to the collection `QuizLPCategories` align the dbml file in the previous prompt

View File

@@ -1,215 +1,266 @@
// Users table with auth fields
Table Users {
// system field
id text [pk]
tokenKey text [not null]
created datetime [default: `now()`]
updated datetime
password text [not null]
// value field
email text [not null]
emailVisibility boolean
verified boolean
name text
avatar file
}
// LessonTypes stores different types of lessons // LessonTypes stores different types of lessons
// lesson_types, lesson_type // lesson_types, lesson_type
Table LessonTypes { Table LessonTypes {
// system field // system field
id int [pk, increment] // unique identifier for the lesson type id text [pk] // changed from int to text
created datetime [default: `now()`] // timestamp when the lesson type was created created datetime [default: `now()`] // timestamp when the lesson type was created
updated datetime // timestamp when the lesson type was last updated updated datetime // timestamp when the lesson type was last updated
// value field // value field
name varchar // name of the lesson type name text // changed from varchar to text
type varchar // type category type text // changed from varchar to text
pos integer
visible text
field date
} }
// LessonCategories stores categories of lessons // LessonCategories stores categories of lessons
// lesson_categories, lesson_category // lesson_categories, lesson_category
Table LessonCategories { Table LessonCategories {
// system field // system field
id int [pk, increment] // unique identifier for the lesson category id text [pk] // changed from int to text
created datetime [default: `now()`] // timestamp when the category was created created datetime [default: `now()`] // timestamp when the category was created
updated datetime // timestamp when the category was last updated updated datetime // timestamp when the category was last updated
// value field // value field
cat_name varchar // image file name cat_name text // changed from varchar to text
cat_image varchar // image representing the category cat_image_url text // new field
lesson_type_id integer [ref: > LessonTypes.id] // foreign key referencing LessonTypes.id cat_image file // changed from varchar to file
pos integer
lesson_id integer [ref: > LessonTypes.id] // foreign key referencing LessonTypes.id
description text // new field
remarks text // changed from varchar to text
visible text // new field
} }
Table Helloworlds { Table Helloworlds {
// system field // system field
id int [pk, increment] // id field, increment id text [pk] // changed from int to text
created datetime [default: `now()`] // record create time created datetime [default: `now()`] // record create time
updated datetime // record update time updated datetime // record update time
} hello text // new field
Table Users {
// system field
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
// value field
email varchar
emailVisibility boolean
verified boolean
name varchar
avatar blob
} }
Table UserMetas { Table UserMetas {
// system field // system field
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
// value field // value field
helloworld varchar helloworld text // changed from varchar to text
app_on_time_s integer meta json // new field
user_id integer [ref: > Users.id] user_id text [ref: > Users.id] // changed type and reference
state text // new field
avatar file // changed from blob to file
role text // new field
} }
Table QuizCategories { Table QuizCategories {
// system field // system field
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
// value field // value field
cat_name varchar // category name cat_name text // changed from varchar to text
cat_image varchar // category image cat_image text // changed from varchar to text
init_answer json // new field
} }
// stores all questions of matching frenzy // stores all questions of matching frenzy
Table QuizMatchings { Table QuizMatchings {
// system field // system field
id int [pk, increment] // id field, increment id text [pk] // changed from int to text
created datetime [default: `now()`] // record create time created datetime [default: `now()`] // record create time
updated datetime // record update time updated datetime // record update time
// value field // value field
word varchar // modal answer word text // changed from varchar to text
word_c varchar // question word_c text // changed from varchar to text
cat_id integer [ref: > QuizCategories.id] // foreign key to QuizCategories.id cat_id text [ref: > QuizCategories.id] // changed type and reference
} }
// QuizListening stores all listening quiz data // QuizListening stores all listening quiz data
Table QuizListenings { Table QuizListenings {
// system field // system field
id int [pk, increment] // id field, increment id text [pk] // changed from int to text
created datetime [default: `now()`] // record create time created datetime [default: `now()`] // record create time
updated datetime // record update time updated datetime // record update time
// value field // value field
sound varchar // URL to the sound file sound file // changed from varchar to file
word varchar // The word in the quiz word text // changed from varchar to text
cat_id integer [ref: > QuizCategories.id] cat_id text [ref: > QuizCategories.id] // changed type and reference
} }
// stores all categories of connectives revision quiz // stores all categories of connectives revision quiz
Table QuizConnectivesCategories { Table QuizConnectivesCategories {
// system field // system field
id int [pk, increment] // id field, increment id text [pk] // changed from int to text
created datetime [default: `now()`] // record create time created datetime [default: `now()`] // record create time
updated datetime // record update time updated datetime // record update time
// value field // value field
cat_name varchar // category name cat_name text // changed from varchar to text
cat_image varchar // category image cat_image file // changed from varchar to file
} }
// stores all questions of connectives revision quiz // stores all questions of connectives revision quiz
Table QuizConnectives { Table QuizConnectives {
// system field // system field
id int [pk, increment] // id field, increment id text [pk] // changed from int to text
created datetime [default: `now()`] // record create time created datetime [default: `now()`] // record create time
updated datetime // record update time updated datetime // record update time
// value field // value field
question_fh varchar // first half question_fh text // changed from varchar to text
question_sh varchar // second half question_sh text // changed from varchar to text
modal_ans varchar // modal ans modal_ans text // changed from varchar to text
cat_id integer [ref: > QuizConnectivesCategories.id] // foreign key to QuizConnectivesCategories.id cat_id text [ref: > QuizConnectivesCategories.id] // changed type and reference
} }
// Lessons stores all lessons in the database // Lessons stores all lessons in the database
Table Vocabularies { Table Vocabularies {
// system field // system field
id int [pk, increment] // unique identifier for the lesson id text [pk] // changed from int to text
created datetime [default: `now()`] // timestamp when the lesson was created created datetime [default: `now()`] // timestamp when the lesson was created
updated datetime // timestamp when the lesson was last updated updated datetime // timestamp when the lesson was last updated
// value field // value field
image varchar // URL to the image associated with the lesson image file // changed from varchar to file
sound varchar // URL to the sound file associated with the lesson sound file // changed from varchar to file
word varchar // The word in English word text // changed from varchar to text
word_c varchar // The word in Chinese word_c text // changed from varchar to text
sample_e varchar // Sample sentence in English using the word sample_e text // changed from varchar to text
sample_c varchar // Sample sentence in Chinese using the word sample_c text // changed from varchar to text
cat_id integer [ref: > LessonCategories.id] // foreign key referring to LessonCategories.id cat_id text [ref: > LessonCategories.id] // changed type and reference
category varchar // The category to which the lesson belongs category text // changed from varchar to text
lesson_type_id integer [ref: > LessonTypes.id] // foreign key referring to LessonTypes.id lesson_type_id text [ref: > LessonTypes.id] // changed type and reference
} }
// Listening Practice Quiz Categories // Listening Practice Quiz Categories
// store listening practice category, (LpCategories, LpCategory) // store listening practice category, (LpCategories, LpCategory)
Table QuizLPCategories { Table QuizLPCategories {
// system fields // system fields
id text [pk] // changed from int to text to match PocketBase id text [pk]
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
// value fields // value fields
cat_name varchar [presentable: true] // added presentable flag cat_name text
cat_image file // changed from blob to file type cat_image file
pos number // changed from integer to number pos number
init_answer json init_answer json
visible text
slug text
remarks text
description text
} }
// Listening Practice Quiz Questions // Listening Practice Quiz Questions
Table QuizLPQuestions { Table QuizLPQuestions {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
word varchar word text // changed from varchar to text
sound blob sound file // changed from blob to file
cat_id integer [ref: > QuizLPCategories.id] cat_id text [ref: > QuizLPCategories.id] // changed type and reference
cat_name text // new field
cat_image file // new field
pos number // new field
init_answer json // new field
visible text // new field
slug text // new field
remarks text // new field
description text // new field
} }
// Matching Frenzy Quiz Categories // Matching Frenzy Quiz Categories
Table QuizMFCategories { Table QuizMFCategories {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
cat_name varchar cat_name text // changed from varchar to text
cat_image blob cat_image file // changed from blob to file
pos integer pos number // changed from integer to number
init_answer json init_answer json
visible text // new field
} }
// Matching Frenzy Quiz Questions // Matching Frenzy Quiz Questions
Table QuizMFQuestions { Table QuizMFQuestions {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
word varchar word text // changed from varchar to text
word_c varchar word_c text // changed from varchar to text
cat_id integer [ref: > QuizMFCategories.id] cat_id text [ref: > QuizMFCategories.id] // changed type and reference
visible text // new field
sound file // new field
cat_image file // new field
} }
// Connectives Revision Quiz Categories // Connectives Revision Quiz Categories
Table QuizCRCategories { Table QuizCRCategories {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
cat_name varchar cat_name text // changed from varchar to text
cat_image blob cat_image file // changed from blob to file
pos integer pos integer
init_answer json init_answer json
} }
// Connectives Revision Quiz Questions // Connectives Revision Quiz Questions
Table QuizCRQuestions { Table QuizCRQuestions {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
question_fh varchar question_fh text // changed from varchar to text
question_sh varchar question_sh text // changed from varchar to text
modal_ans varchar modal_ans text // changed from varchar to text
cat_id integer [ref: > QuizCRCategories.id] cat_id text [ref: > QuizCRCategories.id] // changed type and reference
options json // new field
} }
// Test table // Test table
Table t1 { Table t1 {
id int [pk, increment] id text [pk] // changed from int to text
created datetime [default: `now()`] created datetime [default: `now()`]
updated datetime updated datetime
name varchar hello text // changed from name to hello
test_file file // new field
}
// Customers table
Table Customers {
id text [pk] // new table
created datetime [default: `now()`]
updated datetime
name text
email text
phone text
quota number
status text
avatar_file file
cat_id text [ref: > QuizMFCategories.id] // refer to a single user in `Users` table
} }

View File

@@ -0,0 +1,215 @@
// LessonTypes stores different types of lessons
// lesson_types, lesson_type
Table LessonTypes {
// system field
id int [pk, increment] // unique identifier for the lesson type
created datetime [default: `now()`] // timestamp when the lesson type was created
updated datetime // timestamp when the lesson type was last updated
// value field
name varchar // name of the lesson type
type varchar // type category
}
// LessonCategories stores categories of lessons
// lesson_categories, lesson_category
Table LessonCategories {
// system field
id int [pk, increment] // unique identifier for the lesson category
created datetime [default: `now()`] // timestamp when the category was created
updated datetime // timestamp when the category was last updated
// value field
cat_name varchar // image file name
cat_image varchar // image representing the category
lesson_type_id integer [ref: > LessonTypes.id] // foreign key referencing LessonTypes.id
}
Table Helloworlds {
// system field
id int [pk, increment] // id field, increment
created datetime [default: `now()`] // record create time
updated datetime // record update time
}
Table Users {
// system field
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
// value field
email varchar
emailVisibility boolean
verified boolean
name varchar
avatar blob
}
Table UserMetas {
// system field
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
// value field
helloworld varchar
app_on_time_s integer
user_id integer [ref: > Users.id]
}
Table QuizCategories {
// system field
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
// value field
cat_name varchar // category name
cat_image varchar // category image
}
// stores all questions of matching frenzy
Table QuizMatchings {
// system field
id int [pk, increment] // id field, increment
created datetime [default: `now()`] // record create time
updated datetime // record update time
// value field
word varchar // modal answer
word_c varchar // question
cat_id integer [ref: > QuizCategories.id] // foreign key to QuizCategories.id
}
// QuizListening stores all listening quiz data
Table QuizListenings {
// system field
id int [pk, increment] // id field, increment
created datetime [default: `now()`] // record create time
updated datetime // record update time
// value field
sound varchar // URL to the sound file
word varchar // The word in the quiz
cat_id integer [ref: > QuizCategories.id]
}
// stores all categories of connectives revision quiz
Table QuizConnectivesCategories {
// system field
id int [pk, increment] // id field, increment
created datetime [default: `now()`] // record create time
updated datetime // record update time
// value field
cat_name varchar // category name
cat_image varchar // category image
}
// stores all questions of connectives revision quiz
Table QuizConnectives {
// system field
id int [pk, increment] // id field, increment
created datetime [default: `now()`] // record create time
updated datetime // record update time
// value field
question_fh varchar // first half
question_sh varchar // second half
modal_ans varchar // modal ans
cat_id integer [ref: > QuizConnectivesCategories.id] // foreign key to QuizConnectivesCategories.id
}
// Lessons stores all lessons in the database
Table Vocabularies {
// system field
id int [pk, increment] // unique identifier for the lesson
created datetime [default: `now()`] // timestamp when the lesson was created
updated datetime // timestamp when the lesson was last updated
// value field
image varchar // URL to the image associated with the lesson
sound varchar // URL to the sound file associated with the lesson
word varchar // The word in English
word_c varchar // The word in Chinese
sample_e varchar // Sample sentence in English using the word
sample_c varchar // Sample sentence in Chinese using the word
cat_id integer [ref: > LessonCategories.id] // foreign key referring to LessonCategories.id
category varchar // The category to which the lesson belongs
lesson_type_id integer [ref: > LessonTypes.id] // foreign key referring to LessonTypes.id
}
// Listening Practice Quiz Categories
// store listening practice category, (LpCategories, LpCategory)
Table QuizLPCategories {
// system fields
id text [pk] // changed from int to text to match PocketBase
created datetime [default: `now()`]
updated datetime
// value fields
cat_name varchar [presentable: true] // added presentable flag
cat_image file // changed from blob to file type
pos number // changed from integer to number
init_answer json
}
// Listening Practice Quiz Questions
Table QuizLPQuestions {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
word varchar
sound blob
cat_id integer [ref: > QuizLPCategories.id]
}
// Matching Frenzy Quiz Categories
Table QuizMFCategories {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
cat_name varchar
cat_image blob
pos integer
init_answer json
}
// Matching Frenzy Quiz Questions
Table QuizMFQuestions {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
word varchar
word_c varchar
cat_id integer [ref: > QuizMFCategories.id]
}
// Connectives Revision Quiz Categories
Table QuizCRCategories {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
cat_name varchar
cat_image blob
pos integer
init_answer json
}
// Connectives Revision Quiz Questions
Table QuizCRQuestions {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
question_fh varchar
question_sh varchar
modal_ans varchar
cat_id integer [ref: > QuizCRCategories.id]
}
// Test table
Table t1 {
id int [pk, increment]
created datetime [default: `now()`]
updated datetime
name varchar
}