DEV Community

Vu xfi for RestoApp

Posted on

RestoApp: Why We Built an Open-Source Food Delivery Platform

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:

  1. Transparency — anyone can review the code, check the architecture, and ensure its reliability.
  2. Flexibility — integrate with any service or make custom changes without waiting for vendor updates.
  3. Community — build a network of developers and business owners around the platform.
  4. 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
Enter fullscreen mode Exit fullscreen mode

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)