██╗ ██╗███████╗██╗██╗ ██╗ ███████╗██╗ ██╗██████╗ ██║ ██║██╔════╝██║██║ ██║ ██╔════╝██║ ██║██╔══██╗ ██║ ██║█████╗ ██║██║ ██║ █████╗ ██║ ██║██████╔╝ ╚██╗ ██╔╝██╔══╝ ██║██║ ██║ ██╔══╝ ██║ ██║██╔══██╗ ╚████╔╝ ███████╗██║███████╗███████╗███████╗╚██████╔╝██║ ██║ ╚═══╝ ╚══════╝╚═╝╚══════╝╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝
Votre sentinelle de l'information
Fonctionnalités • Démarrage • Stack • Documentation
Veilleur est un agrégateur d'actualités libre et open source. Ajoutez vos sources RSS et sites web favoris, personnalisez votre fil d'actualités, et découvrez de nouvelles sources via la communauté.
« Restez informé, simplement. »
|
|
graph TB
subgraph Client["🖥️ Client"]
WC[Web Components]
CSS[CSS Moderne]
end
subgraph API["⚡ API Fastify"]
Routes[Routes]
MW[Middlewares]
Auth[JWT Auth]
end
subgraph Domaine["🎯 Domaine"]
Services[Services]
Entites[Entités]
end
subgraph Infra["🔧 Infrastructure"]
Scraping[Scraping]
Cache[Cache]
BDD[Base de données]
end
subgraph External["☁️ Externe"]
RSS[Sources RSS]
Sites[Sites Web]
end
Client --> API
API --> Domaine
Domaine --> Infra
Scraping --> External
subgraph Storage["💾 Stockage"]
MariaDB[(MariaDB)]
Redis[(Redis)]
end
BDD --> MariaDB
Cache --> Redis
# 1. Cloner le projet
git clone https://github.com/yrbane/veilleur.git
cd veilleur
# 2. Configurer et démarrer
cp .env.example .env
make dev| Commande | Description |
|---|---|
make dev |
🟢 Démarrer l'environnement |
make down |
🔴 Arrêter les conteneurs |
make logs |
📜 Voir les logs |
make shell |
💻 Shell dans l'app |
make db-shell |
🗄️ Shell MariaDB |
make test |
🧪 Lancer les tests |
make debug |
🔧 Avec outils admin |
make help |
❓ Toutes les commandes |
git clone https://github.com/yrbane/veilleur.git
cd veilleur
npm install
cp .env.example .env
# Configurer MariaDB et Redis localement
npm run db:migrate
npm run devmindmap
root((Veilleur))
Backend
Node.js 22 LTS
Fastify 5.x
TypeScript 5.7+
Drizzle ORM
BullMQ
Frontend
Vanilla TS
Web Components
CSS Moderne
Nesting
oklch
Container Queries
Stockage
MariaDB 11.x
Redis 7.x
Tests
Vitest
Playwright
Scraping
cheerio
rss-parser
graph LR
subgraph Docker["🐳 Docker Compose"]
App["📦 veilleur-app<br/>Node.js 22"]
DB["🗄️ veilleur-mariadb<br/>MariaDB 11"]
Cache["⚡ veilleur-redis<br/>Redis 7"]
App --> DB
App --> Cache
end
subgraph Debug["🔧 Debug (optionnel)"]
Adminer["🔍 Adminer<br/>:8080"]
RedisUI["📊 Redis Commander<br/>:8081"]
end
DB -.-> Adminer
Cache -.-> RedisUI
| Volume | Contenu |
|---|---|
veilleur-mariadb-data |
Données MariaDB |
veilleur-redis-data |
Données Redis (AOF) |
| Document | Description |
|---|---|
| 📋 Spécification | User stories et exigences |
| 🗺️ Plan | Plan d'implémentation |
| 📊 Data Model | Schéma de données |
| 🔌 API | Contrat OpenAPI |
| 🔬 Recherche | Choix techniques |
| 🚀 Quickstart | Guide de démarrage |
| ✅ Tâches | 101 tâches à réaliser |
gantt
title Milestones Veilleur
dateFormat YYYY-MM-DD
section MVP
Le Réveil du Veilleur (Setup) :m1, 2025-01-01, 3d
Les Yeux Grands Ouverts (Fondations):m2, after m1, 5d
Première Veille (US1 Sources) :m3, after m2, 4d
Le Fil de l'Info (US2 Articles) :m4, after m3, 3d
section Features
Identité Secrète (US5 Compte) :m5, after m4, 2d
Les Étoiles du Veilleur (US3 Notes) :m6, after m5, 3d
Ajustements Nocturnes (US6 Params) :m7, after m6, 3d
Communauté des Veilleurs (US4) :m8, after m7, 3d
section Polish
Le Grand Polish :m9, after m8, 3d
|
Tests avant code |
Security by design |
Cache agressif |
Code propre |
Ergonomie |
Tout en français |
Beauté du code |
Les contributions sont les bienvenues ! Consultez les issues pour voir les tâches disponibles.
# Fork et clone
git clone https://github.com/votre-user/veilleur.git
# Créer une branche
git checkout -b feature/ma-fonctionnalite
# Développer avec TDD
make test-watch
# Push et PR
git push origin feature/ma-fonctionnaliteFait avec ❤️ par la communauté