AI学习搭子 - 智能学习伙伴应用
本项目旨在开发一款基于AI技术的学习辅助应用,帮助用户制定学习目标、智能出题、记录学习进度,并提供AI交流功能,打造个性化的学习体验。
CREATE TABLE user_info (
user_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
avatar_url VARCHAR(255) COMMENT '头像存储路径',
username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
password VARCHAR(255) NOT NULL COMMENT '密码',
grade VARCHAR(20) COMMENT '年级信息',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
);
CREATE TABLE goals (
goal_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '目标ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
subject VARCHAR(50) NOT NULL COMMENT '学科类型',
goal_type VARCHAR(50) NOT NULL COMMENT '目标类型',
goal_content TEXT COMMENT '目标描述',
difficulty VARCHAR(20) COMMENT '难度',
total_quantity INT DEFAULT 0 COMMENT '目标总量',
completed_quantity INT DEFAULT 0 COMMENT '已完成量',
estimated_time INT COMMENT '预计用时(分钟)',
start_time TIMESTAMP COMMENT '开始时间',
status TINYINT DEFAULT 0 COMMENT '状态(0-未开始,1-进行中,2-已完成)',
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
CREATE TABLE ai_chat (
chat_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '对话ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
content TEXT NOT NULL COMMENT '消息内容',
type TINYINT NOT NULL COMMENT '消息类型(0=用户,1=AI)',
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '消息时间戳',
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
CREATE TABLE goal_of_detail (
detail_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '详情ID',
goal_id BIGINT NOT NULL COMMENT '目标ID',
subject VARCHAR(50) COMMENT '学科',
content_type TINYINT COMMENT '类型(1-选择题,2-填空题,3-单词)',
content TEXT COMMENT '内容详情',
options JSON COMMENT '选项',
answer TEXT COMMENT '答案',
difficulty VARCHAR(20) COMMENT '难度',
knowledge_point VARCHAR(100) COMMENT '知识点',
FOREIGN KEY (goal_id) REFERENCES goals(goal_id)
);
CREATE TABLE study_report (
report_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '报告ID',
goal_id BIGINT NOT NULL COMMENT '目标ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
generate_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '生成时间',
accuracy DECIMAL(5,2) COMMENT '正确率',
knowledge_analysis JSON COMMENT '知识点分析',
difficulty_analysis JSON COMMENT '难度分析',
share_url VARCHAR(255) COMMENT '分享链接',
FOREIGN KEY (goal_id) REFERENCES goals(goal_id),
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
CREATE TABLE user_answer (
answer_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '记录ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
goal_id BIGINT NOT NULL COMMENT '目标ID',
content_id BIGINT NOT NULL COMMENT '题目ID',
user_answer TEXT COMMENT '用户答案',
is_correct TINYINT COMMENT '是否正确',
spend_time INT COMMENT '单题用时(秒)',
answer_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '答题时间',
FOREIGN KEY (user_id) REFERENCES user_info(user_id),
FOREIGN KEY (goal_id) REFERENCES goals(goal_id),
FOREIGN KEY (content_id) REFERENCES goal_of_detail(detail_id)
);
CREATE TABLE study_stats (
stats_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '统计ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
daily_study_hours JSON COMMENT '每日学习时长',
subject_study_duration JSON COMMENT '各科目学习时长占比',
completed_goals INT DEFAULT 0 COMMENT '已完成目标数量',
streak_days INT DEFAULT 0 COMMENT '连续学习天数',
week_start_date DATE COMMENT '统计周开始日期',
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
CREATE TABLE achievements (
achievement_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '成就ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
achievement_name VARCHAR(100) NOT NULL COMMENT '成就名称',
achievement_source VARCHAR(255) COMMENT '成就图片资源',
description TEXT COMMENT '成就说明',
is_achieved TINYINT DEFAULT 0 COMMENT '是否获得成就',
achieve_date TIMESTAMP NULL COMMENT '获得成就日期',
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
CREATE TABLE system_settings (
setting_id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '设置ID',
user_id BIGINT NOT NULL COMMENT '用户ID',
study_reminder_enabled TINYINT DEFAULT 1 COMMENT '学习提醒开关',
ai_assistant_enabled TINYINT DEFAULT 1 COMMENT 'AI助手开关',
eye_protection_enabled TINYINT DEFAULT 0 COMMENT '护眼模式开关',
FOREIGN KEY (user_id) REFERENCES user_info(user_id)
);
本项目已基本完成核心功能开发,目前正在进行UI优化和功能完善。下一步将重点关注成就系统开发、性能优化和用户体验提升,为正式发布做准备。