The most relevant project of the Spanish government in 2023
client
The Government of Spain
Services
Design, Web & Mobile Development, Infrastructure, Front-end, Back-end
This project is an initiative of the Government of Spain that offers financial assistance to young people who reach the age of majority to acquire and enjoy cultural products and activities.
Challenges
Integration with a series of external services, both from the police and AEAT, as well as Clave, @firma, all with different characteristics and needs. Each of these services required XML signatures and other particularities that needed to be effectively handled to ensure optimal performance. Additionally, implementing various software development security practices such as authentication and authorization, protection against attacks, encryption, and data protection.
Key Success Factors
01
User-Centered Design
We adopt user-centered design principles, which involved conducting user research, creating user personas, and performing usability testing.
02
Security Practices
We implement multiple security practices during development, such as implementing a robust authentication system, protection against attacks, secure user session management, encryption and data protection, regular updates and patches, periodic security testing, and secure error management.
03
Microservices-Based Architecture
The architecture based on microservices, events, and Kafka enabled us to achieve greater scalability, modularity, and resilience. We developed and deployed services independently, enhancing fault tolerance and quick recovery.
04
Use of KMM
To maximize productivity and development speed of the apps, we chose to use KMM, which allows sharing native code between different platforms (iOS and Android), accelerating development and reducing code duplication.
01
User-Centered Design
We adopt user-centered design principles, which involved conducting user research, creating user personas, and performing usability testing.
02
Security Practices
We implement multiple security practices during development, such as implementing a robust authentication system, protection against attacks, secure user session management, encryption and data protection, regular updates and patches, periodic security testing, and secure error management.
03
Microservices-Based Architecture
The architecture based on microservices, events, and Kafka enabled us to achieve greater scalability, modularity, and resilience. We developed and deployed services independently, enhancing fault tolerance and quick recovery.
04
Use of KMM
To maximize productivity and development speed of the apps, we chose to use KMM, which allows sharing native code between different platforms (iOS and Android), accelerating development and reducing code duplication.
Methodology
Scrum
Teams work more efficiently, collaboratively, and effectively.
The way of writing code must be consistent and governed by a style guide. It allowed for the rapid onboarding of new developers.
Automated in CI/CD strategy, SonarQube
Cloud Microservices and Events
Development and Management of Distributed Applications
Microservices-based architecture with AWS Lambda, ECS, and KubernetesScalability and resilience with AWS Auto ScalingImplementation of Event Design Patterns with KafkaMonitoring with AWS CloudWatch and Management with AWS Systems ManagerAutomation and continuous deployment with CI/CD in microservices and pod environments, using Argo for orchestration.
Kotlin Multiplatform Mobile
Enables creating native mobile applications for iOS and Android
Saves time and effort in developmentCross-platform shared code, reducing duplicationSimplified maintenanceFacilitates the addition of new features
Use of a scalable database
The use of Postgresql in AWS Aurora allowed efficient read-write balancing, while AWS S3 provided secure and efficient document storage.
Better system performance and scalability
Scrum
Teams work more efficiently, collaboratively, and effectively.
The way of writing code must be consistent and governed by a style guide. It allowed for the rapid onboarding of new developers.
Automated in CI/CD strategy, SonarQube
Cloud Microservices and Events
Development and Management of Distributed Applications
Microservices-based architecture with AWS Lambda, ECS, and KubernetesScalability and resilience with AWS Auto ScalingImplementation of Event Design Patterns with KafkaMonitoring with AWS CloudWatch and Management with AWS Systems ManagerAutomation and continuous deployment with CI/CD in microservices and pod environments, using Argo for orchestration.
Kotlin Multiplatform Mobile
Enables creating native mobile applications for iOS and Android
Saves time and effort in developmentCross-platform shared code, reducing duplicationSimplified maintenanceFacilitates the addition of new features
Use of a scalable database
The use of Postgresql in AWS Aurora allowed efficient read-write balancing, while AWS S3 provided secure and efficient document storage.
Better system performance and scalability
Results
"A robust, scalable, high-performance web platform that has proven to be highly resilient and capable of handling traffic spikes, thanks to the ability to scale individual services according to demand."