-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from fsossa/dev
Dev v0.2 to main
- Loading branch information
Showing
5 changed files
with
190 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,47 @@ | ||
AdopteUnDev | ||
# AdopteUnDev | ||
|
||
Bienvenue sur le projet **AdopteUnDev** ! Ce projet vise à connecter les développeurs et les entreprises en utilisant des fonctionnalités de matching similaires à celles des sites de rencontres. | ||
|
||
## Equipe: | ||
### I. Fulbert SOSSA | ||
### II. Monel GAFFAN | ||
### III. Marlène GOHI | ||
### IV. Rokia COULIBALY | ||
|
||
--- | ||
|
||
## Installation avec Docker | ||
|
||
### 1. Prérequis | ||
- Docker | ||
- Docker Compose | ||
|
||
### 2. Étapes d'installation | ||
|
||
1. **Clonez le projet :** | ||
Clonez le dépôt sur votre machine locale et accédez au dossier. | ||
```bash | ||
git clone https://github.com/fsossa/AdopteUnDev.git | ||
cd AdopteUnDev | ||
|
||
Configurez les variables d'environnement : | ||
Créez un fichier .env.local et configurez la connexion à la base de données : | ||
DATABASE_URL=postgresql://username:password@db:5432/adopteundev | ||
Lancez les conteneurs avec Docker Compose : | ||
Cela démarrera les services nécessaires à l'application. | ||
|
||
docker-compose up -d | ||
|
||
Installez les dépendances PHP : | ||
Exécutez Composer dans le conteneur pour installer les bibliothèques nécessaires. | ||
|
||
docker-compose exec app composer install | ||
|
||
Appliquez les migrations : | ||
Configurez la base de données en appliquant les migrations. | ||
|
||
docker-compose exec app php bin/console doctrine:migrations:migrate | ||
|
||
Accédez à l'application : | ||
Ouvrez votre navigateur et rendez-vous sur http://localhost:8000. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,48 @@ | ||
# AdopteUnDev | ||
|
||
Bienvenue sur le projet **AdopteUnDev** ! Ce projet vise à connecter les développeurs et les entreprises en utilisant des fonctionnalités de matching similaires à celles des sites de rencontres. | ||
|
||
## Equipe: | ||
### I. Fulbert SOSSA | ||
### II. Monel GAFFAN | ||
### III. Marlène GOHI | ||
### IV. Rokia COULIBALY | ||
|
||
--- | ||
|
||
## Installation avec Docker | ||
|
||
### 1. Prérequis | ||
- Docker | ||
- Docker Compose | ||
|
||
### 2. Étapes d'installation | ||
|
||
1. **Clonez le projet :** | ||
Clonez le dépôt sur votre machine locale et accédez au dossier. | ||
```bash | ||
git clone https://github.com/fsossa/AdopteUnDev.git | ||
cd AdopteUnDev | ||
|
||
Configurez les variables d'environnement : | ||
Créez un fichier .env.local et configurez la connexion à la base de données : | ||
DATABASE_URL=postgresql://username:password@db:5432/adopteundev | ||
Lancez les conteneurs avec Docker Compose : | ||
Cela démarrera les services nécessaires à l'application. | ||
|
||
docker-compose up -d | ||
|
||
Installez les dépendances PHP : | ||
Exécutez Composer dans le conteneur pour installer les bibliothèques nécessaires. | ||
|
||
docker-compose exec app composer install | ||
|
||
Appliquez les migrations : | ||
Configurez la base de données en appliquant les migrations. | ||
|
||
docker-compose exec app php bin/console doctrine:migrations:migrate | ||
|
||
Accédez à l'application : | ||
Ouvrez votre navigateur et rendez-vous sur http://localhost:8000. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
<?php | ||
|
||
namespace App\Controller; | ||
|
||
use App\Entity\Developer; | ||
use App\Repository\DeveloperRepository; | ||
use App\Repository\PosteRepository; | ||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; | ||
use Symfony\Component\HttpFoundation\Response; | ||
use Symfony\Component\Routing\Annotation\Route; | ||
|
||
class MatchController extends AbstractController | ||
{ | ||
#[Route('/match/{developerId}', name: 'match_postes')] | ||
public function matchPostes(int $developerId, DeveloperRepository $developerRepository, PosteRepository $posteRepository): Response | ||
{ | ||
// Récupérer le développeur | ||
$developer = $developerRepository->find($developerId); | ||
|
||
if (!$developer) { | ||
throw $this->createNotFoundException('Développeur non trouvé.'); | ||
} | ||
|
||
// Récupérer les postes correspondants | ||
$matches = $posteRepository->matchPostes($developer); | ||
|
||
return $this->render('match/list.html.twig', [ | ||
'developer' => $developer, | ||
'matches' => $matches, | ||
]); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
{% extends 'base.html.twig' %} | ||
|
||
{% block title %}Match de Postes{% endblock %} | ||
|
||
{% block body %} | ||
<div class="container mt-4"> | ||
<h1>Postes correspondant aux compétences de {{ developer.firstname }} {{ developer.lastname }}</h1> | ||
|
||
{% for message in app.flashes('success') %} | ||
<div class="alert alert-success">{{ message }}</div> | ||
{% endfor %} | ||
{% for message in app.flashes('warning') %} | ||
<div class="alert alert-warning">{{ message }}</div> | ||
{% endfor %} | ||
|
||
{% if matches is empty %} | ||
<p>Aucun poste correspondant trouvé.</p> | ||
{% else %} | ||
<div class="row"> | ||
{% for match in matches %} | ||
<div class="col-md-4 mb-4"> | ||
<div class="card"> | ||
<div class="card-body"> | ||
<h5 class="card-title">{{ match.poste.title }}</h5> | ||
<p class="card-text">{{ match.poste.description }}</p> | ||
<p><strong>Lieu :</strong> {{ match.poste.location }}</p> | ||
<p><strong>Expérience requise :</strong> {{ match.poste.experiences }} années</p> | ||
<p><strong>Salaire :</strong> {{ match.poste.minSalary ? match.poste.minSalary ~ ' - ' ~ match.poste.maxSalary : 'N/A' }}</p> | ||
<p><strong>Compétences requises :</strong> | ||
{% for skill in match.poste.skills %} | ||
{{ skill.name }}{% if not loop.last %}, {% endif %} | ||
{% endfor %} | ||
</p> | ||
<p><strong>Score de correspondance :</strong> {{ match.percentage|number_format(2) }}%</p> | ||
|
||
{# Vérifier si le poste est déjà favori #} | ||
{% set is_fav = false %} | ||
{% for fav in developer.developerFavPostes %} | ||
{% if fav.poste.id == match.poste.id %} | ||
{% set is_fav = true %} | ||
{% break %} | ||
{% endif %} | ||
{% endfor %} | ||
|
||
{% if is_fav %} | ||
{# Bouton pour supprimer des favoris #} | ||
<form action="{{ path('favourite_remove', {'developerId': developer.id, 'posteId': match.poste.id}) }}" method="POST" style="display:inline;"> | ||
<button type="submit" class="btn btn-danger btn-sm" onclick="return confirm('Êtes-vous sûr de vouloir supprimer ce favori ?');">Supprimer des favoris</button> | ||
</form> | ||
{% else %} | ||
{# Bouton pour ajouter aux favoris #} | ||
<form action="{{ path('favourite_add', {'developerId': developer.id, 'posteId': match.poste.id}) }}" method="POST" style="display:inline;"> | ||
<button type="submit" class="btn btn-primary btn-sm">Ajouter aux favoris</button> | ||
</form> | ||
{% endif %} | ||
</div> | ||
</div> | ||
</div> | ||
{% endfor %} | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock %} |