Social Justice | Waste Management Platform
The Challenge
Oxfam South Africa faced several significant challenges in managing waste across their various operations. Their existing systems for waste tracking and reporting were inefficient, leading to difficulties in data collection and analysis. The lack of real-time data hampered decision-making processes, making it challenging to respond quickly to changing waste management needs. Additionally, the organization struggled with managing different user access levels, which was crucial for maintaining data integrity and security. There was also a pressing need for a mobile solution that would allow for on-the-go waste management, especially for field operations.
The Solution and Architecture
To address these challenges, CloudZA Tech developed a custom waste management dashboard called “Oxfam”. This comprehensive solution comprises three main components: a user-friendly frontend interface, a robust backend for server-side logic and database interactions, and a mobile application for on-the-go waste management tracking and reporting.
The Oxfam dashboard was designed with a containerized architecture to ensure efficient deployment and scalability. It offers multiple account types Admin, Manager, and Employee each with appropriate access levels to cater to different user needs within the organization. The solution is deployed on Amazon Elastic Container Service (ECS) and is accessible via an Application Load Balancer, ensuring secure access with TLS in-flight encryption.
Data storage is handled through an RDS MySQL database, while profile pictures are stored in Amazon S3, integrated through the Boto 3 SDK. To maintain the highest level of security, environment variables, including database credentials, are secured via AWS Secrets Manager.
Implementation Process
The implementation of the Oxfam Waste Management Dashboard involved several key stages. Initially, CloudZA Tech developed the containerized frontend and backend applications, ensuring they were optimized for performance and scalability. Simultaneously, a mobile application was created to provide on-the-go access for field operations.
A crucial aspect of the implementation was the setup of an AWS CodePipeline for efficient development and deployment. This continuous integration and continuous delivery (CI/CD) pipeline automated the build, test, and deployment processes, significantly streamlining the development workflow. It allowed for rapid iteration and ensured that new features and bug fixes could be deployed quickly and reliably.
In addition, the deployment and infrastructure management were streamlined using Terraform and AWS CloudFormation. Terraform was utilized for its ability to manage and version infrastructure as code across multiple environments, while AWS CloudFormation was employed for orchestrating and managing AWS resources efficiently. This dual approach ensured a robust, repeatable deployment process, enhancing consistency and reliability in infrastructure provisioning.
The next phase involved setting up the AWS infrastructure, including ECS, RDS, S3, and Secrets Manager. This was followed by the implementation of robust security measures, such as SSL certificates and encrypted data transfer, to protect sensitive information.
Finally, the solution was deployed and configured on AWS, with careful attention paid to integrating all components seamlessly. Throughout the process, CloudZA Tech worked closely with Oxfam South Africa to ensure the solution met their specific needs and requirements.
Outcomes
A key feature of the Oxfam Waste Management Dashboard implementation was the incorporation of an AWS CodePipeline, designed to streamline and automate the development and deployment process. This iterative pipeline revolutionized the way CloudZA Tech’s developers interacted with the project, significantly enhancing efficiency and control over the production environment.
Contact CloudZA to discuss how we can assist you with modernising your DevOps environments and workflows with the AWS cloud