Об этом проекте
## О проекте
«Помощник для подготовки к „专升本“» — это приложение для управления учебным процессом абитуриентов, сдающих вступительный экзамен в вузы Китая. Доступны веб-версия (PWA) и настольные клиенты для Windows/macOS. Облачная синхронизация аккаунта и данных реализована на Cloudflare Workers + D1 + R2: после регистрации записи обучения保持一致 на всех устройствах.
Основная идея — замкнуть цикл «запись → фокус → мотивация → рефлексия» в единый процесс.
### Почему этот проект
- **Полный цикл обучения**: ежедневные отметки, Pomodoro-таймер, прорешивание задач и разбор ошибок, вечерние итоги — всё в одном инструменте, без переключения между приложениями.
- **Облачная синхронизация**: после регистрации данные полностью синхронизируются (Cloudflare D1); PWA кэширует данные, позволяя просматривать последнюю версию офлайн.
- **Геймификация**: ранги от бронзы до короля, стена значков, история очков, серия дней обучения — превращает рутину в квест.
- **Углублённая подготовка по математике и английскому**: дерево глав по программе, заметки с Markdown+LaTeX, интеграция с приложением «墨墨背单词» для ежедневного повторения, шаблоны для заданий на заполнение пропусков, чтение, аудирование и эссе.
- **Pomodoro с описанием задачи**: прямой и обратный отсчёт, поле для описания текущей задачи; отдельный блок «недавно завершённые» показывает время, длительность и задачу каждого помидора.
- **Сообщество и учебные партнёры**: посты, обсуждения, круги по интересам, личные сообщения и уведомления; поиск напарника для совместных занятий, командные челленджи, совместные планы и приглашения к рефлексии.
- **Наглядная аналитика**: ECharts для распределения времени, динамики точности по предметам, анализа фокуса.
- **Десктоп + PWA**: нативные клиенты с треем, системными уведомлениями и автообновлением; веб-версия устанавливается как PWA с офлайн-кэшем.
### Функциональность
| Категория | Возможности |
| :--- | :--- |
| Учебные записи | Дерево глав и уровень освоения, учёт времени, сессии решения задач, журнал ошибок, записи пробных экзаменов, ежедневные задачи |
| Заметки и материалы | Заметки Markdown+KaTeX, библиотека материалов, загрузка PDF и чтение по частям |
| Английский | Отметки по словам (интеграция с 墨墨背单词), заполнение пропусков, чтение, аудирование, шаблоны эссе и ежедневные цели |
| Pomodoro | Прямой/обратный отсчёт, описание задачи, детали недавних сессий, запись причин прерывания, обои для фокуса |
| Привычки и рефлексия | Отметки привычек и статистика, ежедневное резюме (настроение + трёхчастная рефлексия + план на завтра), карточки для шеринга |
| Мотивация | Очки и история, шесть рангов, стена значков, серия дней |
| Сообщество | Посты и комментарии, лайки, тематические круги, обсуждение знаний, личные сообщения, подписки и центр уведомлений |
| Совместная работа | Командные челленджи и прогресс, учебные партнёры, виртуальные комнаты для совместной учёбы, совместные планы, еженедельные отчёты |
| Аккаунт и безопасность | Регистрация/вход (bcrypt + JWT HttpOnly Cookie), Cloudflare Turnstile, ограничение запросов, локальный словарь нецензурных слов + повторная проверка Workers AI |
| Персонализация | Обратный отсчёт до экзамена, темы и тёмный режим, напоминания и «не беспокоить», обрезка аватара, гостевой режим |
### Технический стек
| Уровень | Технологии |
| :--- | :--- |
| Фронтенд | Vue 3 (`<script setup>`), TypeScript, Vite 5, Vue Router 4, Pinia 2, Tailwind CSS 3 |
| Визуализация/контент | ECharts 5, KaTeX 0.16, markdown-it, pdfjs-dist |
| Десктоп | Electron 43, electron-builder, electron-updater |
| PWA | vite-plugin-pwa (установка + Service Worker офлайн-кэш) |
| Бэкенд | Cloudflare Workers (TypeScript), bcryptjs, jose для JWT |
| Данные | Cloudflare D1 (более 50 таблиц), R2 (хранение изображений сообщества) |
| Инженерия | ESLint, tsc --noEmit, два пайплайна GitHub Actions |
### Быстрый старт
**Требования**: Node.js 18 или выше
```bash
git clone https://github.com/Han050912/zsb-study-tracker.git
cd zsb-study-tracker
npm install
npm run dev
```
**Запуск бэкенд-воркера (обязательно для локальной разработки)**:
```bash
cd worker
npm install
npm run init:local
npx wrangler dev
```
**Десктоп-клиент**:
```bash
npm run electron:dev
```
**Сборка**:
```bash
npm run dist:win # Windows
npm run dist:mac # Mac
```
### Деплой
В проекте два пайплайна GitHub Actions, слушающих ветку master: фронтенд разворачивается на GitHub Pages, бэкенд — на Cloudflare Workers. Требуется настроить секреты CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID и другие.
### Вклад в проект
Приветствуется любой вклад! Процесс: Fork → новая ветка (feat/xxx или fix/xxx) → проверка кода → PR в ветку development. Используйте TypeScript, Tailwind CSS, иконки SVG (Lucide), следуйте Conventional Commits.
### Лицензия
Проект распространяется под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.