Une application moderne de gestion de calendrier et de planification d'événements
- À propos
- Prérequis
- Installation
- Lancement du projet
- Structure du projet
- Technologies utilisées
- Contribuer
- Licence
Calendlyo est une application de gestion de calendrier et de planification d'événements, construite avec une architecture hexagonale pour garantir la séparation des préoccupations et la maintenabilité du code.
Le projet est composé de :
- API Backend : Spring Boot 4.0 avec Java 25
- Web App Frontend : Application web moderne (à venir)
Avant de commencer, assurez-vous d'avoir installé :
- Java 25 (JDK)
# Vérifier la version java -version - Gradle (ou utiliser le wrapper fourni)
- Bun (runtime JavaScript ultra-rapide)
# Installation avec curl curl -fsSL https://bun.sh/install | bash # Vérifier la version bun --version
git clone https://github.com/M-PROGRAMMATION/Calendlyo.git
cd Calendlyocd apps/api
./gradlew buildcd apps/web-app
bun installL'API utilise une base de données H2 en mémoire pour le développement (aucune configuration supplémentaire nécessaire).
cd apps/api
./gradlew bootRuncd apps/api
gradle bootRunL'API sera accessible sur : http://localhost:8080
cd apps/web-app
bun run devL'application web sera accessible sur : http://localhost:3000 (ou le port configuré)
cd apps/web-app
bun run buildcd apps/web-app
bun run startCalendlyo/
├── apps/
│ ├── api/ # Backend Spring Boot
│ │ ├── src/
│ │ │ └── main/
│ │ │ ├── java/
│ │ │ │ └── com/calendlyo/api/
│ │ │ │ ├── domain/ # Couche domaine
│ │ │ │ ├── application/ # Couche application
│ │ │ │ └── infrastructure/ # Couche infrastructure
│ │ │ └── resources/
│ │ │ └── application.properties
│ │ ├── build.gradle.kts # Configuration Gradle
│ │ └── gradlew # Gradle Wrapper
│ │
│ └── web-app/ # Frontend
│ ├── app/
│ ├── public/
│ ├── package.json
│ └── bun.lockb
│
├── README.md # Ce fichier
└── LICENSE # Licence du projet
- Java 25 - Langage de programmation
- Spring Boot 4.0.0-RC2 - Framework web
- Spring Data JPA - ORM et accès aux données
- H2 Database - Base de données en mémoire (développement)
- PostgreSQL - Base de données
- Gradle - Gestionnaire de build
- Architecture Hexagonale - Pattern architectural
- Bun - Runtime JavaScript ultra-rapide
- Next.js - Framework React pour le rendu côté serveur
Pour utiliser PostgreSQL, modifiez apps/api/src/main/resources/application.properties :
# PostgreSQL Configuration
spring.datasource.url=jdbc:postgresql://localhost:5432/calendlyo
spring.datasource.username=votre_username
spring.datasource.password=votre_password
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialectCréez un fichier .env à la racine de chaque application pour configurer les variables d'environnement :
SPRING_PROFILES_ACTIVE=dev
DATABASE_URL=jdbc:postgresql://localhost:5432/calendlyo
DATABASE_USERNAME=username
DATABASE_PASSWORD=password
NEXT_PUBLIC_API_URL=http://localhost:8080
Les contributions sont les bienvenues ! Voici comment contribuer :
- Fork le projet
- Créez votre branche de fonctionnalité (
git checkout -b feature/slug) - Committez vos changements (
git commit -m 'feat: add amazing feature') - Push vers la branche (
git push origin feature/slug) - Ouvrez une Pull Request
- Suivre les conventions Java standard pour le backend
- Utiliser des noms de variables et méthodes explicites
- Commenter le code complexe
- Écrire des tests unitaires pour les nouvelles fonctionnalités
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- M-PROGRAMMATION - Développeur principal
Pour toute question ou suggestion :
- Email : m.programmation31@gmail.com
- GitHub : @M-PROGRAMMATION
Fait avec ❤️ et bénévolement par M-PROGRAMMATION
