À propos du projet
## Présentation du projet
L'assistant d'études pour le passage au bachelor (专升本) est une application de gestion de préparation aux examens, proposant une version Web (PWA) et un client desktop Windows/macOS. Le compte cloud et la synchronisation des données sont assurés par Cloudflare Workers + base de données D1 + stockage R2, permettant de maintenir des enregistrements d'apprentissage identiques sur le Web et le bureau après inscription.
Positionnement central : relier « enregistrer → se concentrer → motiver → analyser » en une boucle complète d'apprentissage.
### Pourquoi choisir ce projet
- **Boucle d'apprentissage intégrale** : check-in quotidien, concentration Pomodoro, résolution d'exercices et correction d'erreurs, réflexion nocturne — tout le processus de préparation en un seul outil, sans aller-retour entre plusieurs applications
- **Synchronisation multi-plateforme cloud** : après inscription, toutes les données sont synchronisées vers le cloud (Cloudflare D1) ; le Web et le client desktop reprennent où vous vous êtes arrêté ; la PWA met en cache les données et permet de consulter le dernier contenu même hors ligne
- **Gamification pour maintenir la motivation** : progression par rangs (Bronze → Argent → Or → Platinum → Diamant → Roi), mur de badges, flux de points et série de jours d'apprentissage continu, transformant la préparation long terme en expérience de闯关
- **Renforcement spécifique mathématiques supérieures et anglais** : arbre des chapitres du syllabus, notes Markdown+LaTeX, check-in de vocabulaire article par article via l'application « Momo Vocabulary », enregistrement multidimensionnel des templates de cloze/compréhension/oral/composition
- **Pomodoro avec description de tâche** : modes compteur avant/arrière, saisie de la tâche de concentration avant démarrage ; section dédiée « récemment terminé » enregistrant heure, durée et tâche de chaque Pomodoro
- **Place communautaire et partenaire d'étude** : publications, cercles, messagerie privée et notifications ; trouver un partenaire pour « étudier en équipe », défis collectifs, planification collaborative et invitations à l'analyse post-révision
- **Graphiques instantanément lisibles** : distribution des temps d'étude, tendances de taux de réussite par matière, analyse de concentration propulsées par ECharts
- **Client desktop + PWA** : client natif Windows/macOS, barre système, notifications natives, mise à jour automatique ; version Web installable en PWA avec cache hors ligne
### Caractéristiques fonctionnelles
| Catégorie | Fonction |
| :--- | :--- |
| Enregistrement d'étude | Arbre de chapitres par matière et taux de maîtrise, enregistrement de durée, session d'exercices, cahier d'erreurs, scores de模拟考试, tâches quotidiennes |
| Notes et ressources | Notes Markdown+formules KaTeX, bibliothèque de documents, téléchargement PDF et lecture par fragments |
| Spécialisation anglais | Check-in de vocabulaire (intégration Momo Vocabulary), cloze, compréhension écrite, écoute, templates de composition et objectifs journaliers |
| Concentration Pomodoro | Compteur avant/arrière, description de tâche, détail des tâches terminées, raison d'interruption, wallpaper de concentration |
| Habitudes et analyse | Check-in et statistiques d'habitudes, synthèse quotidienne (émotion + réflexion en trois parties + plan du lendemain), cartes de partage |
| Récompenses et motivation | Points et flux, six niveaux de rang, mur de badges, série de jours d'apprentissage continus |
| Communauté | Publications et commentaires, likes, cercles thématiques, discussions de知识点, messagerie privée, centre de notifications |
| Collaboration | Défis d'équipe et progression, partenaire d'étude, salle d'étude en ligne, planification collaborative, envoi d'hebdomadaire |
| Compte et sécurité | Inscription/connexion (bcrypt + JWT HttpOnly Cookie), vérification Turnstile Cloudflare, rate limiting, mots sensibles par dictionnaire local + relecture Workers AI |
| Personnalisation | Compte à rebours avant l'examen, thème et mode sombre, alertes et ne pas déranger, recadrage d'avatar, mode visiteur |
### Architecture technique
| Couche | Choix technologique |
| :--- | :--- |
| Frontend | Vue 3(`<script setup>`), TypeScript, Vite 5, Vue Router 4, Pinia 2, Tailwind CSS 3 |
| Visualisation / contenu riche | ECharts 5, KaTeX 0.16, markdown-it, pdfjs-dist |
| Desktop | Electron 43, electron-builder, electron-updater |
| PWA | vite-plugin-pwa (installable + Service Worker avec cache hors ligne) |
| Backend | Cloudflare Workers (TypeScript), bcryptjs, jose pour signature JWT |
| Données | Cloudflare D1 (50+ tables métier), R2 (stockage d'images communautaires) |
| Ingénierie | ESLint, tsc --noEmit, GitHub Actions double pipeline |
### Prise en main rapide
**Prérequis** : Node.js 18 ou supérieur
```bash
git clone https://github.com/Han050912/zsb-study-tracker.git
cd zsb-study-tracker
npm install
npm run dev
```
**Démarrer le Worker backend (requis en développement local)** :
```bash
cd worker
npm install
npm run init:local
npx wrangler dev
```
**Client desktop** :
```bash
npm run electron:dev
```
**Emballage** :
```bash
npm run dist:win # Windows
npm run dist:mac # Mac
```
### Déploiement
Le projet comporte deux pipelines GitHub Actions surveillant la branche master, déployant respectivement le frontend sur GitHub Pages et le backend sur Cloudflare Workers. Les secrets CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, etc. doivent être configurés.
### Guide de contribution
Toute forme de contribution est la bienvenue ! Procédure : Fork → créer une branche (feat/xxx ou fix/xxx) → coder et valider → soumettre une PR à la branche development. Utiliser TypeScript et Tailwind CSS, icônes SVG (Lucide), respecter la convention Conventional Commits.
### Licence
Ce projet est open source sous licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.