ThrillPiXx est la 1ère plateforme pour Trouver, Apprendre et Explorer des centaines de lieux à sensations fortes (thrills) autour du monde. Sur ce projet toujours en cours, je suis le chef de projet technique et je construis l’API pour l’appli mobile. Ruby on Rails est utilisé pour l’API et l’interface Web pour les administrateurs. Voici les fonctions principales de l’API :
- Utilisateurs : Création/édition/suppression – Obtenir le profil – Rechercher par pseudo – Vérification de la disponibilité d’un pseudo – Authentification/Requête de nouveau mot de passe
- Abonnés : Suivre/Ne plus suivre un utilisateur – Accepter/Rejeter un abonné – Obtenir la liste des abonnés
- Inviter un ami par courriel
- Catégories : Obtenir la liste – Rechercher une catégorie par nom – S’abonner/Se désabonner d’une catégorie
- Thrills : Création/édition/suppression – Obtenir la liste – Noter – Obtenir la liste des Top Thrill Seekers
- Challenges : Créer un challenge – Noter un challenge – Accepter/rejeter un challenge – Obtenir la liste
- Listes de souhaits : Ajouter/supprimer un élément – Edition – Marquer un élément comme fait – Obtenir la liste
- Voyages : Création/édition/suppression -S’abonner/Se désabonner d’un voyage – Obtenir la liste
- Commentaires : Création/suppression – Obtenir la liste – Réagir à un commentaire
- Messages : Obtenir la liste des conversations/messages – Envoyer/Supprimer un message
- Notifications : Obtenir la liste – Supprimer une notification – Marquer une notification comme lu
- Signaler un élément
- Rechercher un lieu
- Vérification des images
Cette fois, au lieu d’utiliser MySQL, DataStax Enterprise a été choisi par le fondateur de ThrillPiXx. Cela a compliqué les choses car Rails ActiveRecord ne peuvent pas être utilisés dans ce cas. Beaucoup de travail a été nécessaire pour bien faire fonctionner Rails et Cassandra.
AWS est utilisé pour stocker les images (S3), envoyer des emails (SES) et des notifications push (SNS), pour le CDN (CloudFront), et le transcodage de vidéos (ETS).
Google Vision est utilisé pour vérifier les images téléchargées par les utilisateurs.