Tindoo est une réinterprétation de l'application Tinder, adaptée pour une utilisation sur desktop. Ce projet vise à recréer les principales fonctionnalités de Tinder tout en mettant l'accent sur le backend via Symfony, et une interface utilisateur basée sur Twig et Bootstrap. 🚀
Lien : http://leoderoin.fr:1081
- Inscription avec validation des données utilisateur (email, mot de passe sécurisé, etc.).
- Envoi d'un email de confirmation de creation de compte pour vérifier son compte
- Connexion sécurisée avec gestion des sessions.
- Réinitialisation de mot de passe via email.
- Création et personnalisation des profils utilisateurs (photo, bio, centres d'intérêt).
- Modification des informations personnelles.
- Téléchargement et gestion des photos de profil.
- Affichage de profils en fonction de notre orientation et de notre score
- Fonctionnalités "Like" et "Dislike" pour exprimer son intérêt ou non (gestion de score).
- Fonctionnalité "Super Like" pour lancer directement une conversation en mode "non approuvé"
- Création d'un "match" lorsque deux utilisateurs se "like".
- Système de messagerie simple pour échanger entre utilisateurs.
- Historique des conversations.
- Gestion de discussions approuvées et non approuvées pour pouvoir décliner des super likes
- Route pour trouver un seul profil suggéré selon :
- Âge.
- Localisation.
- Centres d'intérêt.
- Interface disponible en plusieurs langues (ex. : français, anglais).
- Pages personnalisées pour les erreurs courantes (404, 500, etc.).
- Interface d'administration pour gérer les utilisateurs et modérer les contenus.
- Système de logs pour suivre et analyser les erreurs.
- Cron permettant de supprimer les utilisateurs inactifs après un certain délai.
- Cron permettant de clear sa session après un certain délai.
- Possibilité de souscrire à un abonnement pour bénéficier de fonctionnalités supplémentaires.
- Gestion du paiement via Stripe.
- Envoi d'un email lors de la souscription à un abonnement.
- Mise en place d'un environnement de développement avec Docker.
- Mise en place d'un environnement de production avec Docker.
- Mise en place d'une base de test sqlite (différente de la base initiale) pour exécuter les tests unitaires.
- Mise en place de tests unitaires pour les entités et les services.
- Backend : Symfony, Docker
- Frontend : Twig, Bootstrap, NPM, NODEJS
- Base de données : MySQL (ou autre SGBD compatible avec Doctrine)
- Léo Deroin - achedon12
- Mathys Farineau - IPandragonI
Initialiser les variables d'environnement suivantes :
STRIPE_KEY
STRIPE_SECRET
./docker-run.sh
Connecter votre base de données Lancer les fixtures Lancer le serveur symfony Connecter vous avec les identifiants suivants :
compte administrateur : email :
[email protected]
mot de passe :admin
compte utilisateur : email :
[email protected]
mot de passe :regular
autres utilisateurs : email :
email en base
mot de passe :password
Note : L'administrateur peut se rendre sur la page /admin qui lui permet de gérer l'application ou alors aller dans les paramètres de son compte et accéder au dashboard admin via le bouton prévu à cet effet.