Modular e-commerce platform for food delivery mobile app & site. White-Label, Low-Code, Self-Hosted
10K+
Food E-Commerce backend core repository.
For integrations with various services, we use abstract classes called adapters
This project is a backend system for a food delivery service, designed to provide quick deployment and setup of an online platform for ordering and delivering food. It is developed in Node.js using modules that can be easily installed and configured via an module manager.
Join our community to get support for everyone interested in food delivery using our restaurant engine. This is the place where restaurateurs and developers collaborate on the restaurant system. Get the latest news and share ideas. Join us!
The application architecture is designed to intercept events on both the frontend and backend. These events are passed to a Node visual programming environment where they can be modified and the necessary information provided to the client. This allows for running A/B tests, implementing custom features, and making modifications on the fly without requiring deep programming knowledge.
The mobile application is designed to be wrapped as a web application. This ensures that the code is the same for both the web version and the mobile application, simplifying maintenance and development. All features created for the website can also be used in the mobile application, which can be tailored to your style.
For support inquiries or purchasing the PRO version, please contact us on Telegram:
Join our community to get support for everyone interested in food delivery using our restaurant engine. This is the place where restaurateurs and developers collaborate on the restaurant system. Get the latest news and share ideas. Join us!
The system installation is done via a Docker container and takes only 15 minutes. After installation, an installer appears, allowing you to configure parameters and launch the food delivery site.
This Docker image represents a configured RestoApp backend project for Docker container usage. The main idea is that all modules are located in the modules folder and are loaded as hooks during application startup. It's also necessary to explicitly specify the production configuration. All of this is passed into the Docker container through respective folders and functions as expected.
Since the Sails framework is used as a base, it's necessary to explicitly or indirectly indicate where the hooks will be taken from.
To run the application using Docker:
docker run --name restoapp -p 8080:8080 webresto/restoapp:latest
After the container starts, open your browser and navigate to http://localhost:8080 to access the RestoApp application.
To build the Docker image from source:
docker build -t webresto/restoapp:latest .
Then run the container:
docker run --name restoapp -p 8080:8080 webresto/restoapp:latest
We currently only support installation via docker. Look at this image webresto/restoapp
The image is managed by a supervisor program, serving for restarts. In earlier versions, the supervisor will likely be built into the container itself (or even within the Sails application).
The container supports loading initial data from the seeds folder, where *.json files with data arrays are located. When started with process.env.DB_MIGRATE = "drop" or process.env.FORCE_SEED = "TRUE" enabled, the data import process will be automatically launched.
All content from the seeds/assets folder is copied to .tmp/public with replacement. You can also specify the loading order of JS files in the seeds/queue file, with each file on a new line (extensions should not be specified).
Example:
group
# comment
dish
Environment variables are loaded into the container from the .env file (case-sensitive).
docker build -t webresto/restoapp:$(git rev-parse --abbrev-ref HEAD) .
docker push webresto/restoapp:$(git rev-parse --abbrev-ref HEAD)
For local build:
docker build -t webresto/restoapp:$(git rev-parse --abbrev-ref HEAD) . -f Dockerfile.local
(Description not available)
To install additional modules into the container at startup, add the /app/dependencies file containing the module list, with each module on a new line. Each line will be executed using the npm install $line_module template.
Example:
faker
[email protected]
# comment
To install additional RestoApp modules into the container at startup, add the /app/webresto-modules.list file containing the module list, with each module on a new line. Each line will be executed using the webresto install $line_module template.
Example:
payment
webhook
# comment
WR_DISABLE_MODULE_EXIST_CHECK: Turn off module folder presence check (enables forced reinstallation based on the file)MIT License Copyright © 2018-2025
Content type
Image
Digest
sha256:c9262b17b…
Size
227.2 MB
Last updated
about 1 month ago
docker pull webresto/restoapp