Skip to content

lloyd-c137/Tomorrow.AI-

Repository files navigation

Tomorrow.AI 学习平台

Tomorrow.AI 学习平台是一个双语(中/英)高端教育平台,专为交互式科学演示而设计。它具有"数字实验室"的美学风格、用于物理/数学模拟的代码沙盒以及 AI 助手框架。

🚀 快速开始

一键安装(推荐)

npm run setup

手动安装

  1. 安装前端依赖

    npm install
  2. 安装后端依赖

    cd backend
    npm install
  3. 初始化数据库

    npm run init-db

启动开发服务器

需要同时启动前端和后端:

终端 1 - 启动后端:

npm run server:dev

终端 2 - 启动前端:

npm run dev

📁 项目结构

Tomorrow.AI/
├── App.tsx                    # 主 UI 逻辑
├── types.ts                   # TypeScript 类型定义
├── constants.ts               # 翻译字典和种子数据
├── services/
│   ├── apiService.ts          # API 客户端封装
│   ├── storageService.ts      # 数据存储服务(API 模式)
│   └── geminiService.ts       # AI 服务接口
├── components/
│   ├── CategoryTreeNode.tsx   # 递归分类树
│   ├── DemoPlayer.tsx         # 演示播放器
│   ├── UploadWizard.tsx       # 上传向导
│   ├── StatsCard.tsx          # 统计卡片
│   └── Modals.tsx             # 弹窗组件
├── backend/                   # 后端 API 服务
│   ├── server.js              # Express 服务器入口
│   ├── database.js            # SQLite 数据库连接
│   ├── routes/                # API 路由
│   │   ├── auth.js            # 认证路由
│   │   ├── demos.js           # 演示路由
│   │   ├── communities.js     # 社区路由
│   │   ├── categories.js      # 分类路由
│   │   └── bounties.js        # 悬赏路由
│   └── scripts/
│       └── initDb.js          # 数据库初始化脚本
└── BACKEND_API_SPECS.md       # API 规范文档

🗄️ 后端架构

数据库

  • SQLite - 轻量级文件数据库
  • 自动创建在 backend/data/sci_demo_hub.db
  • 支持 WAL 模式,提高并发性能

API 端点

所有 API 遵循 /api/v1 前缀,统一响应格式:

{
  "code": 200,
  "message": "Success",
  "data": { ... }
}

数据表

  • users - 用户表
  • communities - 社区表
  • community_members - 社区成员关联表
  • categories - 分类表
  • demos - 演示表
  • bounties - 悬赏表

🤖 AI 集成指南

配置环境变量

复制 .env.example.env

cp .env.example .env

编辑 .env 文件,添加你的 API 密钥:

# 使用 OpenAI
OPENAI_API_KEY=sk-your-openai-key-here

# 或使用 Gemini
GEMINI_API_KEY=your-gemini-key-here

修改 AI 服务

编辑 services/geminiService.ts,根据 README 中的指南实现具体的 AI 调用逻辑。


🔧 环境配置

前端环境变量 (.env)

VITE_API_URL=http://localhost:3001/api/v1

后端环境变量 (backend/.env)

PORT=3001
CORS_ORIGINS=http://localhost:5173,http://localhost:3000

🎨 样式设计

本项目使用 Tailwind CSS 进行样式设计,并使用 Framer Motion 制作流畅的过渡动画。设计语言遵循适合科学工具的简洁"玻璃拟态 (Glassmorphism)"风格。


📦 可用脚本

根目录

命令 说明
npm run dev 启动前端开发服务器
npm run build 构建前端生产版本
npm run server 启动后端生产服务器
npm run server:dev 启动后端开发服务器(热重载)
npm run init-db 初始化数据库
npm run setup 一键安装所有依赖并初始化数据库

后端目录

命令 说明
npm start 启动服务器
npm run dev 开发模式(热重载)
npm run init-db 初始化数据库

🔐 默认账号

  • 管理员: admin / 任意密码
  • 普通用户: 任意用户名 / 任意密码

📄 许可证

MIT License

About

Today we build Tomorrow , An AI-powered K-12 academic education community

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors