From WordPress to Node.js
When we first started building food delivery websites, we relied on tried-and-true tools — WordPress and WooCommerce.
For one of our clients, we launched a fully functional delivery site on this stack, and at first glance, it worked. But under the hood, it was almost entirely rewritten: too many modifications, a messy structure, and major maintenance headaches.
Technologies like PHP were no longer inspiring — we wanted something modern, modular, and flexible. That’s when we decided to switch to Node.js to create solutions that meet today’s web development standards.
At the time, we chose Sails.js as the framework — it was simple and easy to understand, allowing us to quickly build an MVP. Yes, it’s aging now and we’re considering migrating to a newer stack, but back then it was the optimal choice.
Why Food Delivery is Not Just E-commerce
Food delivery is not just an “online store with a cart.” It works differently:
- The website often serves as an external storefront, while business processes and logistics live inside ERP systems (iiko, r-Keeper, Poster, Loyverse, or any other).
- For an enterprise-grade solution, synchronization with these systems is critical — but the site must also work autonomously, without external dependencies.
- Unlike retail, speed is critical: real-time order processing, live menu updates, delivery zones, and instant delivery cost calculation.
Our goal was to create a standalone, enterprise-level delivery site that:
- Works equally well for a small café or a nationwide chain.
- Can easily integrate with any ERP.
- Functions as a fully autonomous system, processing orders without third-party services.
Why We Chose Open Source
Today, our clients range from single restaurants to large chains and franchises. We’ve learned that traditional subscription or “percentage of sales” models often don’t work:
- For large companies, they create unpredictable costs and vendor lock-in.
- Medium-sized businesses often seek lifetime licenses for closed products.
- For long-term flexibility, Open Source is increasingly the preferred choice.
We went fully open-source for several reasons:
- Transparency — anyone can review the code, check the architecture, and ensure its reliability.
- Flexibility — integrate with any service or make custom changes without waiting for vendor updates.
- Community — build a network of developers and business owners around the platform.
- Scalability — use RestoApp not only for delivery websites but also to create aggregator-level platforms.
For us, Open Source is not just a philosophy. It’s a strategic decision that gives businesses control and independence, while letting us grow the platform together with the community.
Technology Stack
RestoApp is built on modern, high-performance tools:
- Node.js — fast, scalable server-side runtime.
- Sails.js — straightforward, easy-to-learn framework for APIs and business logic.
- PostgreSQL — reliable relational database.
- Docker — deploy in minutes anywhere: locally, on a server, or in the cloud.
Installing RestoApp
We’ve made installation as simple as possible.
Quick Start
Run RestoApp in Docker with one command:
docker run --name restoapp -p 8080:8080 webresto/restoapp:latest
Once the container starts, open your browser and go to:
http://localhost:8080
What’s Next
RestoApp is already ready to use as a complete food delivery solution, but we’re moving forward:
- Integration support for any ERP
- Extended modules for loyalty programs and promotions
- Capability to run delivery aggregators on top of the platform
In the next article, we’ll show you how to connect a restaurant management system and automate menu updates.
RestoApp Links
🌐 RestoApp.org
🐦 Twitter | 💬 Telegram | 🇷🇺 VKontakte | 🎮 Discord | ▶ YouTube
📘 Facebook | 📷 Instagram | 🧵 Threads | 🌐 BlueSky | 🎵 TikTok
Top comments (0)