Bogart Meble
PHP 5.4 ERP to Symfony, no downtime
Migrating a system built over 12 years of custom development to Symfony and Sylius, with no loss of SEO rankings and no interruptions. System responsiveness increased by 60%. Bogart is a furniture manufacturer operating since 2011. Its range includes sofas, corner sofas, wardrobes and beds, including the Magnis, Zenar and Tulia collections. The company sells in several markets and works with distributors. For 12 years its system was developed as a tailor-made solution.
A PHP 5.4 ERP that couldn't keep up with a multi-market business
- PHP 5.4 out of support. The ERP system ran on a PHP version that hadn't received patches for a long time. Every new feature was built on an increasingly weak foundation.
- Performance issues. The system responded slowly. Both employees and customers using the store side felt it.
- Missing features for four markets. The company operated in Poland, Slovakia, the Czech Republic and Germany. The old system lacked the features needed to serve these countries efficiently.
- Security risk. Software without updates is vulnerable to known exploits. For a company selling online, that is a risk to data and to sales continuity.
- Critical features to rewrite. Key processes had to be migrated without losing a single business rule. After 12 years of development, many of them weren't documented anywhere.
- SEO and business continuity. The migration could not lower search rankings or stop sales. Every interruption means lost orders.
Audit, business-logic rewrite, and a zero-downtime rollout
- A full ERP audit. We began by reviewing the entire system. We documented features, dependencies and the places where business logic was hidden in the code.
- A migration strategy for Symfony. Symfony is a mature PHP framework with long-term support and a clear structure. It is well suited to large systems developed over many years.
- Sylius for the e-commerce layer. Sylius is built on Symfony, so the store and the ERP share the same technology foundation. That simplifies maintenance and further development.
- Code modernization. We rewrote critical features to modern standards. The code became readable for future developers.
- Query optimization. We analyzed database queries and removed bottlenecks. This was the main source of the speed improvement.
- Functional and security testing. We checked every rewritten process for consistency with the old behavior and for resistance to attacks.
- Rollout with monitoring. We carried out the switchover with minimal downtime. Monitoring let us catch any issues right away and respond before customers noticed.
- An ERP core on Symfony. The company's processes run on a supported framework. New features can be added without worrying about overall stability, because the framework receives regular patches.
What we built it with.
Audit
We reviewed the code, the database and the processes. The result was a map of features to migrate and a list of risks. We knew which processes were critical and in what order to tackle them.
Strategy
We set the migration order, the Symfony architecture and the role of Sylius. We also planned how to protect URLs and SEO rankings.
Rewrite and optimization
We moved critical features to the new foundation. In parallel, we optimized the database queries.
Testing
We ran functional and security tests. We compared the new system against the old one in real scenarios, such as placing and processing orders.
Rollout
We launched the system with minimal downtime and under constant monitoring. Sales were never interrupted.
What changed.
See other projects.
Has your system outlived the support for its technology?
We'll run an audit and plan a migration with no interruption to sales. When an old system still works, it's tempting to leave it alone. But every year the cost of new features and the security risk keep growing. A migration should start with an audit, because after years of development some business rules exist only in the code. A well-planned transition can improve performance and doesn't have to cost you your SEO rankings.
Request a system audit →