This analysis presents the development of SMSIdéage, a solution designed for Idéage Formation, an organization specialized in training for professionals in the medico-social sector.
This project, carried out within the ESN SII Est, automates the registration of participants for training via SMS. It also improves the tracking of training sessions while integrating with Idéage's existing management software This is the source of truth on which our application is based.
Context and Issues
Business Challenges
Idéage Formation faced several operational difficulties:
- Time-consuming manual process for registering participants in the existing management software.
- Ineffective tracking of attendance at training sessions
- Need for a solution accessible to professionals without a professional email
- Adaptation of billing according to the number of participants
- Simultaneous management of training for multiple establishments
Specific Needs
The main objectives of the project were to:
- Simplify participant registration by minimizing manual intervention
- Automate attendance tracking and collection of immediate feedback
- Allow customization of communications
- Ensure precise tracking of training to optimize billing
Technical Architecture
Technology Stack
The solution relies on a combination of modern technologies:
Frontend
- Angular with Angular Material for a consistent user interface
- Atomic design to promote the reusability of components
Backend
- C# .NET with a Domain-Driven Design (DDD) approach
- Microservices architecture communicating via RabbitMQ
- Integration with Auth0 for authentication management
Infrastructure
- Docker for application containerization
- Ansible for deployment automation
- Docoon and ClickSend APIs for SMS management
Key Features Developed
SMS Registration Process
The user journey was designed to be simple, accessible, and to prevent participants error.
Automated Training Tracking
To optimize the overall experience, the system integrates:
- Automatic reminders before each session
- Notifications to trainers for attendance tracking
- Invitations to complete post-training feedback
- Administrative dashboards for monitoring
Dynamic SMS Templates
The template system offers great flexibility:
- Interface allowing the creation and modification of templates
- Dynamic variables to personalize messages
- Real-time preview before sending
Synchronization with the existing management software
To ensure data consistency without compromising performance:
- Implementation of a mirror database
- Incremental synchronization during the day
- Full nightly synchronization
Security and Access Management
Data protection is ensured by:
- Authentication via Auth0 with JWT tokens
- RBAC system for permission management
- Strict control of administrator access
Methodology and Quality
Agile Approach
The development followed an agile methodology allowing:
- Iterative deliveries
- Adaptation to client feedback
- Prioritization of features based on their business value
Quality Assurance
The reliability of the solution is based on:
- Unit and integration tests (XUnit, Karma, Jasmine)
- End-to-end tests with Selenium
- User tests in a pre-production environment
- Accessibility checks with DevTools
Results and Follow-up
Deployment and Adoption
The project has passed several important milestones:
- July 2024: Finalization of initial development
- November 2024: Production launch after obtaining phone numbers
- January 2025: Start of intensive use
- March 2025: Transition to a maintenance phase
Benefits for the Client
The solution has brought several concrete advantages:
- Significant reduction in time spent on administrative management
- Autonomy thanks to an intuitive back office
- System responsiveness appreciated by users
- Improved completion rate of immediate feedback
Key Learnings
Technical Lessons
This project demonstrated the importance of:
- Understanding the existing ecosystem before integrating a new solution
- Prioritizing ease of use, especially for non-technical users
- Designing architectures that allow for long-term evolution and maintenance
- Anticipating synchronization needs between heterogeneous systems
Methodological Lessons
The experience confirmed that:
- Close collaboration with the client is essential to grasp business nuances
- User testing in real conditions reveals aspects that are impossible to anticipate
- Technical and functional documentation greatly facilitates the transition to maintenance
- The iterative approach allows for adjustments to the solution based on real needs discovered during the project
Conclusion
The development of SMSIdéage shows that the added value of a project is the combination of a good understanding of business challenges and appropriate technical choices. It is important to surround oneself with experts, the first being our client Mr. Vincent Meillarec, who shared his clear vision of the business domain with us and allowed us to understand the behaviors of future users to adapt the interface accordingly. This project also demonstrates the importance of designing systems that integrate harmoniously with existing ones while opening up new possibilities.
The success of this type of project is not measured solely by its technical quality, but especially by its adoption by users and its ability to concretely solve the problems it aimed to address. In the case of SMSIdéage, customer satisfaction and the intensive use of the solution several months after its deployment are evidence of achieving these objectives.
