描述

QuizWiz 是一款利用 AI 力量从文档创建抽认卡的抽认卡应用程序。

? 特点

  • 创建、编辑和组合卡组(牌组)。
  • 手动创建卡片或通过上传 PDF 文件/粘贴材料创建卡片。
  • 基于 SM-2 算法复习卡片
  • 使用多项选择或手动填写来练习复习过的卡片。
  • 浅色和深色主题。

? 截图

Create Collection Edit, delete, combine collections and cards
Review cards Practice using multiple choice quiz
Practice by writing definitions manually Upload pdf then save all generated cards
Paste text then save individual generated cards

? 包和技术

描述
架构 Bloc 模式
状态管理 flutter_bloc
依赖注入 get_it
主题化 flex_color_scheme
互联网连接 connectivity_plus
函数式编程 dartz
数据库 Isar

? 项目结构

lib
|
|_ ?src
	|
	|__ ?core
	|	|__ ?errors <- define errors and exceptions
	|	|__ ?router <- generated router & route names
	|	|__ ?services <- dependency injection & internet connection
	|	|__ ?theme <- define themes & dynamic theming
	|	|__ ?utils <- constants (enums, strings, etc..)
	|	|__ ?widgets <- widgets that are used in multiple screens
	|
	|__ ?features
		|
		|__ ?cards
			|__ ?controller <- Bloc
			|__ ?data <- data retrieval and caching
			|	|__ ?models <- business logic
			|	|__ ?data_source <- works with db and api
			|	|__ ?repository <- combine and map data
			|__ ?presentation <- screens and widgets

?‍♂️ 安装和运行应用程序

  1. 通过在您喜欢的目录中运行 git clone https://github.com/Dev-Salem/quizwiz.git 来克隆项目
  2. 运行 flutter pub get
  3. Rapid API [1] 获取 API 密钥
  4. 转到 lib/features/cards/data/data_source/remote_data_source/api_client.dart 并提供您的密钥(注意:如果您打算发布应用程序,请确保安全地存储密钥,了解更多信息
  5. 运行 flutter_run

[1] 如果您想使用官方的 chat gpt api 或其他包装器,请前往 lib/core/utils/network_constants.dart 并更改 gptBaseUrlgptHeaderHost 的值

?️ 限制

由于 chatgpt 3.5 turbo 的限制,API 一次只能总结约 3 页的内容。

? 贡献

欢迎通过提交拉取请求或报告错误来添加/请求功能。

?️ 后续计划

[ ] 添加测试

?️ 许可证

MIT 许可

GitHub

查看 Github