Skip to content

LAnubis/PoetryGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📜 PoetryGame (诗词大闯关)

License: MIT .NET 10.0 WPF-UI

PoetryGame 是一款基于最新 .NET 10 与现代化 WPF 架构打造的桌面端教育辅助软件。本项目摒弃了传统教育软件繁杂花哨的界面,追求极致的沉浸感与极简美学。全局采用优雅的莫兰迪蓝与纯白配色方案,力求在桌面端提供最专注、最护眼的使用体验。

在优雅的表象之下,是严谨的底层逻辑:标准的多层架构、强类型的数据隔离以及直观的数据可视化,旨在帮助学生更科学、高效地攻克诗词背诵难关。

✨ 核心特性 (Features)

  • 👥 纯净的多用户沙盒:内置本地账号切换机制,底层数据彻底隔离。多名学生共用一台电脑时,各自的错题本、挑战记录与学习报告互不干扰。
  • 📈 智能学习闭环
    • 错题自动收录:答错的诗词自动进入 MistakeRecords 错题本。
    • 攻克机制:针对错题生成专项复习,连续答对即可标记为“已掌握”。
  • 📊 动态数据看板:集成 LiveCharts2 图表库,用直观的饼图呈现错题掌握度,用折线图追踪历史得分走势,提供直接的情绪价值与正向反馈。
  • 🎨 现代原生 UI:基于 Fluent Design 规范设计,包含平滑的页面路由动画、免密悬浮登录遮罩以及精致的卡片式排版。
  • 📦 极简部署:支持编译为独立单文件 (Self-contained Single File),无需在目标机器预装任何运行时环境,解压即用。

🛠 技术栈 (Tech Stack)

本项目采用标准的“高内聚、低耦合”设计思想,严格区分 UI 呈现与业务逻辑。

  • 框架: .NET 10.0 (Windows Desktop)
  • UI 库: WPF-UI
  • MVVM 框架: CommunityToolkit.Mvvm
  • ORM & 数据库: Entity Framework Core 10.0 + SQLite
  • 图表渲染: LiveChartsCore.SkiaSharpView.WPF
  • 依赖注入: Microsoft.Extensions.DependencyInjection

📂 项目架构与目录说明 (Architecture)

解决方案严格划分为底层核心库与顶层应用:

📦 PoetryGame (Solution)
 ┣ 📂 PoetryGame.Core               # 【核心数据层】纯净的 .NET 类库,零 UI 依赖
 ┃  ┣ 📂 Entities                   # 领域实体模型 
 ┃  ┣ 📂 Interfaces                 # 接口定义 (用于解耦)
 ┃  ┣ 📂 Services                   # 核心业务逻辑实现 
 ┃  ┗ 📜 AppDbContext.cs            # EF Core 数据库上下文
 ┃
 ┣ 📂 PoetryGame.Desktop            # 【UI 表示层】WPF 桌面应用
 ┃  ┣ 📂 Assets                     # 静态资源 (Logo, 图标等)
 ┃  ┣ 📂 ViewModels                 # 视图模型 (MVVM 架构核心)
 ┃  ┣ 📂 Views                      # XAML 视图 (Pages 子页面与 Windows 宿主)
 ┃  ┗ 📜 AppSession.cs              # 全局状态管理 (当前登录用户状态)
 ┃
 ┗ 📂 Templates                     # 【资源文件夹】标准数据导入模板 
    ┣ 📄 诗词导入模板.xlsx          
    ┗ 📄 学生账号导入模板.xlsx

About

一款基于 .NET 10 + WPF 打造的极简桌面端诗词学习软件。内置多用户沙盒、错题智能收集与 LiveCharts 可视化学习报表,助力高效攻克诗词背诵。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages