Back to all case studies

Rotary Youth Exchange Program

A system for managing students' travels around the world

Rotary YEP is an international exchange program for students in secondary school organised by Rotary. Its primary purpose is for the children to learn a new language, discover another culture, and truly become global citizens.

Role
Software development
Technology
Drupal
Logo for Rotary YEP
Logo for Rotary YEP

About the project

Domain Driven Design

Throughout the project life cycle, the main focus was on matching the business domain as closely as possible. The processes in the student exchange program are complex. Great care has been taken to gather all the requirements in a way that both the company and developers can understand. Thanks to such an approach, it was easy to decode concept problems before moving onto implementation, which ultimately resulted in lower costs of developing new features.

Co-integration with Rotary membership system

One of the biggest challenges was integrating YEP with Rotary's existing membership system, which already owned much of the data that the Rotary YEP system also needed. This was solved by caching the data that the other system should use. This architecture allowed for a cache-cache system via Redis for a quick access to data, stored on the external component.

 

“There are only two hard things in Computer Science: cache invalidation and naming things.”

Phil Karlton

 

Multi-level authorization

Nowadays, security is getting more and more important. This is why one of the functional requirements was to provide a strong component to control which actions can be performed by whom. The factors consist of permits, type of organization and time. To ensure that the developed solutions are resistant, a set of automated tests is tailored to check new code, so that security is ensured in the future.