Building a modern DevOps pipeline and a digital self service portal for a medium sized recycling company

Academic practical project in software development and IT operations

2022 Practical Project Academic Research

Introduction

This practical project was carried out at a certified waste management company that specialises in the recycling of wood. The main objective was to design and implement a modern Development and IT Operations cycle as well as a digital customer portal integrated into the company processes.

The work focused on two core aspects. First, the setup of a DevOps environment that supports continuous development, integration, deployment, and operation of the portal. Second, the conception and implementation of a web based customer portal that improves customer retention by providing transparent access to weighing data, contracts, invoices, and controlling information, and by optimising the internal weighing and disposal processes.

The project addressed several challenges in the company's daily operations, including inefficient customer communication, limited document availability, and manual administrative processes that could be streamlined through digitalization.

Fundamentals and Requirements

Requirement Analysis

The project began with comprehensive requirement analysis through interviews with management and employees. Key problems identified included:

  • Inefficient customer communication processes requiring frequent phone calls and emails
  • Limited availability of weighing data and documents for customers
  • Manual administrative work that could be automated
  • Lack of transparency in project status and progress tracking
  • No standardized development and deployment processes

Technical Requirements

Based on the analysis, the following technical requirements were derived:

  • Implementation of a continuous integration and deployment pipeline
  • Development of a modular customer portal architecture
  • Integration with existing ERP system and weighing data
  • Secure authentication and role-based access control
  • Responsive design for mobile and desktop access

Concept and Architecture

DevOps Concept

The DevOps concept was designed to support continuous development, integration, deployment, and operation. The architecture included:

  • Version control with GitLab for code management and collaboration
  • Continuous Integration with automated builds and tests using TeamCity
  • Containerization with Docker for consistent deployment environments
  • Automated deployment pipelines for staging and production environments
  • Monitoring and logging for operational insights

Portal Architecture

The customer portal was designed as a modular web application with the following core modules:

Weighing Module

Customers can view and download weighing slips linked to their customer number, enabling full transparency of delivered quantities and qualities.

Disposition Module

Planning of container transports with integration of customers, containers, employees, and suitable vehicles to support the logistics process.

Contract and Pricing Module

Permanent availability of prices and contract documents with export as PDF to support transparent communication and fast access to agreements.

Accounting Module

Search and download of invoices in PDF format, aligned with the weighing data, to reduce manual requests and support digital accounting workflows.

Controlling and Analytics

Evaluation of delivered quantities, delivery quality, and prices to support operational controlling and strategic decision making.

Master Data Self Service

Options for customers to maintain selected master data and contact information, reducing manual administrative work for the company.

Technology Stack

Programming and Web

PHP
Laravel Framework
JavaScript
HTML & CSS
SQL

DevOps and Collaboration

GitLab
TeamCity
Continuous Integration
Continuous Deployment
Version Control Workflows

Data and Integration

MySQL
ERP System Integration
REST APIs

Infrastructure and Tools

Docker
nginx Web Server
PhpStorm IDE
Linux Server Environment

Implementation

Development Environment Setup

The first phase involved setting up a dedicated development environment with web server, database, IDE, and necessary tools to support continuous development. This included configuring local development servers, database connections, and development tools.

DevOps Implementation

The DevOps cycle was implemented through the integration of GitLab, TeamCity, and Docker. This enabled:

  • Continuous integration with automated builds and tests
  • Automated deployment pipelines for staging and production
  • Version control workflows with branching strategies
  • Containerized environments for consistent deployments

Portal Development

The customer portal was implemented using the Laravel framework. The development process included:

  1. Creation of the modular architecture with separate modules for weighing, disposition, contracts, accounting, controlling, and master data
  2. Development of user interfaces with responsive design for mobile and desktop access
  3. Integration with the existing ERP system and weighing data through REST APIs
  4. Implementation of authentication and role-based access control
  5. Development of PDF export functionality for documents and invoices

Testing and Feedback

Throughout the development process, functional tests were conducted, test data was created, and feedback loops with stakeholders were established to validate usability, performance, and correctness of business processes. This iterative approach ensured that the solution met the requirements and expectations.

Results and Conclusion

Achieved Results

The implementation of the DevOps cycle and customer portal resulted in significant improvements:

  • Improved Development Efficiency: Automated CI/CD pipelines reduced deployment time and minimized manual errors, enabling faster iteration cycles.
  • Enhanced Customer Experience: Customers gained 24/7 access to their data, reducing phone inquiries and improving satisfaction through self-service capabilities.
  • Streamlined Internal Processes: Digital workflows reduced administrative overhead and improved data accuracy through automated processes.
  • Better Data Transparency: Real-time access to weighing data, invoices, and contracts improved communication and trust between the company and its customers.
  • Scalable Architecture: The modular design allows for future expansion and integration of additional features as business needs evolve.

Lessons Learned

The project provided valuable insights into modern software development practices:

  • The importance of establishing a proper DevOps cycle from the beginning to support continuous development and deployment
  • The value of modular architecture in enabling flexible and maintainable software solutions
  • The significance of stakeholder feedback and iterative development in ensuring solution quality
  • The benefits of containerization and automated deployment in reducing operational complexity

Future Recommendations

For further expansion of the DevOps cycle and portal functions, the following recommendations were made:

  • Implementation of automated monitoring and alerting systems for proactive issue detection
  • Expansion of the portal with additional modules based on customer feedback and business needs
  • Integration of mobile applications for enhanced accessibility
  • Continuous improvement of the CI/CD pipeline with additional automated tests and quality gates