LexicaCharles est une application TypeScript destinée à faciliter l'apprentissage du vocabulaire et la mémorisation par des sessions interactives (flashcards, QCM, répétition espacée). Ce dépôt contient le code source principal du projet — frontend et/ou backend en TypeScript.
- Gestion de listes de mots (création, modification, suppression)
- Sessions d'entraînement (flashcards, QCM, écriture)
- Suivi des progrès et statistiques utilisateur
- Import / export de listes (CSV / JSON)
- Configuration multilingue et paramètres personnalisés
- Langage : TypeScript
- (Précisez selon votre projet) Frontend : React / Next.js / autre
- (Précisez selon votre projet) Backend : Node.js + Express / Fastify / autre
- Tests : Jest / Vitest (si présents)
- Lint : ESLint, Format : Prettier
- Node.js >= 18
- npm ou yarn ou pnpm
- (Optionnel) Base de données : SQLite, PostgreSQL ou MongoDB selon la configuration
-
Cloner le dépôt :
git clone https://github.com/charles-kamga/lexicalearncharles.git
-
Se placer dans le dossier du projet :
cd lexicalearncharles
-
Installer les dépendances :
npm install
(ou
yarn/pnpm install) -
Copier le fichier d'exemple d'environnement et le configurer :
cp .env.example .env
Remplir les variables nécessaires (PORT, DATABASE_URL, clés API, ...).
-
Lancer en mode développement :
npm run dev
npm run dev— démarrer l'application en mode développementnpm run build— compiler le projet TypeScriptnpm start— démarrer la version buildéenpm run lint— exécuter ESLintnpm run format— formater le code avec Prettiernpm run test— lancer la suite de testsnpm run typecheck— vérifier les types TypeScript
Vérifiez
package.jsonpour les scripts exacts si différents.
.env: variables d'environnement (voir.env.examplesi présent)tsconfig.json: configuration TypeScript
Le dépôt est écrit en TypeScript. Une structure commune recommandée :
src/
client/ # code frontend (si mono-repo)
server/ # code backend / API
modules/ # fonctionnalités (words, sessions, users)
db/ # migrations / accès données
types/ # définitions types
utils/ # utilitaires
tests/ # tests unitaires / intégration
Adaptez selon l'arborescence réelle du projet.
Exemple d'action GitHub pour CI (lint, build, tests) :
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '18'
- run: npm ci
- run: npm run lint
- run: npm run build
- run: npm test -- --coverage
- Docker : fournir un
Dockerfilepour construire l'image de production - Plateformes : Vercel (frontend), Railway / Heroku / Fly / DigitalOcean (backend)
Merci pour votre contribution !
- Forkez le dépôt
- Créez une branche
feature/xxxoufix/xxx - Ajoutez des tests pour vos changements si possible
- Ouvrez une Pull Request et décrivez les changements
Respectez le style de code du projet et assurez-vous que la CI passe.
Ce dépôt ne contient pas de fichier LICENSE par défaut. Ajoutez une licence (par ex. MIT) si vous souhaitez rendre le projet open-source.
Mainteneur: @charles-kamga (https://github.com/charles-kamga)