À 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.