SimpleCRM : Un projet Ruby on Rails de démonstration

Contexte et objectifs

SimpleCRM est un projet développé en 2024 pour démontrer mes compétences en Ruby on Rails. L’objectif était de créer une application web complète, en explorant de nouveaux concepts, en testant les dernières versions de Rails et en mettant en pratique mes connaissances.

Collaboration

J’ai été assisté par Juan Ferracioli lors des premières étapes du projet.

Stack technique

  • Ruby 3.x et Rails 7.x pour la création de l’application
  • PostgreSQL comme base de données
  • Stimulus pour l’organisation du code JavaScript
  • Devise pour la gestion des utilisateurs et Pundit pour la gestion des droits
  • ActiveAdmin pour le panel d’administration
  • Apartment pour la gestion du multi-tenancy
  • RSpec pour les tests automatisés

Conception et design

  • Design créé via Figma
  • Utilisation d’un mood board et d’un design kit pour créer une identité visuelle cohérente

Déploiement et production

  • Code hébergé sur GitHub
  • Déploiement sur un VPS de chez Hostinger avec Cloudify et Docker

Principes de développement

  • DRY (Don’t Repeat Yourself) pour éviter la duplication de code
  • KISS (Keep It Simple, Stupid) pour une conception simple et efficace
  • Tests automatisés pour garantir la qualité et la fiabilité de l’application

Défis relevés

  • Multi-tenancy : mise en place d’une architecture pour gérer les données de plusieurs organisations avec Apartment
  • Design : création d’un design cohérent et attractif malgré un manque d’expérience en design
  • Production : Conditions proches de la prod en contexte professionnel. premier déploiement avec Coolify et Docker. Mise en place pipeline CI/CD