SimpleCRM: A Ruby on Rails Demonstration Project

Context and Objectives

SimpleCRM is a project developed in 2024 to demonstrate my skills in Ruby on Rails. The objective was to create a comprehensive web application, exploring new concepts, testing the latest versions of Rails, and putting my knowledge into practice.

Collaboration

I was assisted by Juan Ferracioli during the initial stages of the project.

Technical Stack

  • Ruby 3.x and Rails 7.x for building the application
  • PostgreSQL as the database
  • Stimulus for organizing JavaScript code
  • Devise for user management and Pundit for permissions management
  • ActiveAdmin for the administration panel
  • Apartment for multi-tenancy management
  • RSpec for automated testing

Design and Conception

  • Design created using Figma
  • Use of a mood board and design kit to create a consistent visual identity

Deployment and Production

  • Code hosted on GitHub
  • Deployment on a Hostinger VPS with Cloudify and Docker

Development Principles

  • DRY (Don’t Repeat Yourself) to avoid code duplication
  • KISS (Keep It Simple, Stupid) for a simple and effective design
  • Automated testing to ensure the quality and reliability of the application

Challenges Overcome

  • Multi-tenancy: implementation of an architecture to manage data from multiple organizations using Apartment
  • Design: creation of a consistent and attractive design despite limited design experience
  • Production : Near-production conditions in a professional setting. Initial deployment using Coolify and Docker. Implementation of a CI/CD pipeline