Getting Ready
Foodsharing is mostly written in PHP and vue.js.
Requirements
- UNIX (or WSL)
- Git
- Docker — or Podman with
podman-composeas a rootless alternative; the./scripts/*wrappers auto-detect either provider.
Project structure
Details
Foodsharing
├── client
│ ├── lib
│ ├── src
│ │ ├── api
│ │ ├── components
│ │ ├── fonts
│ │ ├── helper
│ │ ├── mixins
│ │ ├── scss
│ │ ├── stores
│ │ └── views
│ └── test
├── docker
│ └── conf
├── migrations
├── scripts
├── translations
├── src
│ ├── Command
│ ├── Dev
│ ├── Lib
│ ├── Modules
│ ├── Permissions
│ ├── RestApi
│ └── Utility
├── templates
├── tests
│ ├── acceptance
│ ├── api
│ ├── cli
│ ├── functional
│ └── unit
└── websocket
└── srcStart the local engine
Developing on a local basis requires a UNIX base system with docker installed.
WARNING
When you develop on Windows, WSL with Docker Desktop is required.
If Docker Desktop's Resource Saver is enabled, it stops the Docker engine while no containers are running. The docker command inside WSL then stops working, and ./scripts/start fails with No compose implementation found. To avoid this, uncheck Settings → Resources → Advanced → Enable Resource Saver.
When you develop on Linux, Docker is required.
git clone git@gitlab.com:foodsharing-dev/foodsharing.git foodsharing
cd foodsharing && ./scripts/startINFO
You need an ssh key on your system to clone the repository with SSH (set up guide).
Now go and visit localhost:18080 in your browser. You should see a foodsharing instance running on your local machine 😃
Continue on Seed Overview.