Introduction à Charly
Charly est construit autour d'un monorepo qui regroupe l'application web, le backend, la gestion de la base de données et les outils de scraping, garantissant une cohérence et une efficacité dans le développement et la maintenance.
La stack technologique
La stack de Charly a été conçue de sorte à :
- Centraliser les données : Une base de données standardisée pour gérer les événements, les lieux, les organisateurs et les catégories avec des schémas uniformes.
- Simplifier l'intégration : Une API unifiée basée sur oRPC, offrant une communication sécurisée et typée entre le frontend et le backend.
- Faciliter le développement : Une architecture monorepo utilisant Turbo pour orchestrer les builds, tests et déploiements des différentes applications et packages.
- Automatiser la collecte : Des outils de scraping intégrés pour extraire des données d'événements depuis des plateformes comme Eventbrite.
Fonctionnalités principales
- Application web : Une interface utilisateur réactive construite avec React, Next.js et shadcn/ui, offrant des fonctionnalités comme la recherche d'événements, la gestion de favoris, et des pages détaillées pour chaque événement. L'application web consomme l'API en utilisant des hooks optimisés par SWR.
- Backend robuste : Une API RESTful utilisant oRPC, avec une authentification sécurisée via Better Auth et une intégration avec PostgreSQL via l'ORM Drizzle.
- Base de données standardisée : Schémas uniformes pour les tables (événements, lieux, organisateurs, etc.) avec validation via Zod et gestion des migrations avec Drizzle Kit.
- Pipeline CI/CD : Automatisation des builds et déploiements via GitHub Actions, avec des images Docker pour le frontend et le backend.
- Documentation intégrée : Une documentation claire et accessible, générée avec VitePress, pour guider les développeurs dans l'installation, la configuration et l'utilisation du projet.
WARNING
Il est recommandé de consulter la documentation de toutes les technologies citées ci-dessus afin de les exploiter pleinement.
Prochaines étapes
- Découvrir l'architecture : Comprenez comment les composants de Charly interagissent dans la section Architecture.
- Installer le projet : Suivez le guide d'Installation pour configurer Charly localement et commencer à coder.
- Explorer le guide : Consultez les sections sur la Gestion du monorepo, l'Utilisation de l'API unifiée, et la Base de données standardisée.