Simple CRM
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
Stack
- Ruby 3.0.3
- Rails 7.0.8
- Active Admin
- Sqlite3
- Poundit
- Rspec
- Stymulus