{"id":14983722,"url":"https://github.com/franzose/symfony-ddd-wishlist","last_synced_at":"2025-10-11T00:06:14.424Z","repository":{"id":62507098,"uuid":"98386355","full_name":"franzose/symfony-ddd-wishlist","owner":"franzose","description":"Wishlist, a sample application on Symfony 3 and Vue.js built with DDD in mind","archived":false,"fork":false,"pushed_at":"2017-08-23T07:39:55.000Z","size":208,"stargazers_count":201,"open_issues_count":0,"forks_count":14,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-08-22T00:45:20.907Z","etag":null,"topics":["ddd","ddd-architecture","ddd-patterns","ddd-sample","postgresql","redis","symfony","symfony-application","symfony3","vuejs"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/franzose.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-26T06:14:19.000Z","updated_at":"2025-06-06T15:08:31.000Z","dependencies_parsed_at":"2022-11-02T12:31:16.278Z","dependency_job_id":null,"html_url":"https://github.com/franzose/symfony-ddd-wishlist","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/franzose/symfony-ddd-wishlist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzose%2Fsymfony-ddd-wishlist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzose%2Fsymfony-ddd-wishlist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzose%2Fsymfony-ddd-wishlist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzose%2Fsymfony-ddd-wishlist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/franzose","download_url":"https://codeload.github.com/franzose/symfony-ddd-wishlist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/franzose%2Fsymfony-ddd-wishlist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005647,"owners_count":26083940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ddd","ddd-architecture","ddd-patterns","ddd-sample","postgresql","redis","symfony","symfony-application","symfony3","vuejs"],"created_at":"2024-09-24T14:07:49.772Z","updated_at":"2025-10-11T00:06:14.407Z","avatar_url":"https://github.com/franzose.png","language":"PHP","funding_links":[],"categories":["Sample Projects"],"sub_categories":["PHP"],"readme":"[![](https://img.shields.io/packagist/dt/franzose/symfony-ddd-wishlist.svg)](https://packagist.org/packages/franzose/symfony-ddd-wishlist)\n[![](https://travis-ci.org/franzose/symfony-ddd-wishlist.svg?branch=master)](https://travis-ci.org/franzose/symfony-ddd-wishlist)\n[![](https://scrutinizer-ci.com/g/franzose/symfony-ddd-wishlist/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/franzose/symfony-ddd-wishlist?branch=master)\n\n[На русском](https://github.com/franzose/symfony-ddd-wishlist/blob/master/README_RUS.md)\n\nWishlist\n========\n\n*I'm still working on the project, so some things can be unimplemented yet.*\n\nThis repository serves as an implementation of DDD, domain driven design, with usage of Symfony 3, PostgreSQL, and Redis as a backend and Vue.js/Sass as a frontend. The project is heavily inspired by [DDD Cargo Sample in PHP](https://github.com/codeliner/php-ddd-cargo-sample).\n\nThe basis for the project is a fairly simple domain, a wish list. Each wish can have its own price, daily fee and a fund which is implemented as a list of deposits to the wish. Wish can be fulfilled and is fulfilled as soon as its fund has enough money. Mistaken deposits can be removed or transfered to another wish. Any wish can have surplus funds, so they can also be transfered to other wishes.\n\n## Installation\nClone the repository and run the following commands to install all the dependencies and build frontend scripts and styles:\n```bash\ncd /path/to/webroot\ngit clone https://github.com/franzose/symfony-ddd-wishlist.git\ncd symfony-ddd-wishlist\ncomposer self-update\ncomposer install\nnpm install\n./node_modules/.bin/encore dev\n```\n\n### PostgreSQL, Redis, and PHP dev server\nTo simplify backend setup, the project uses a couple of Docker images (so you need to install Docker too) that you'll find in `docker-compose.yml.dist` file. Run the following commands to start PostgreSQL and Redis, and also fill the database with some data:\n\n```bash\ncp ./app/config/parameters.yml.dist ./app/config/parameters.yml\ncp ./app/config/parameters_permanent.yml.dist ./app/config/parameters_permanent.yml\ncp ./docker-compose.yml.dist ./docker-compose.yml\ndocker-compose up -d\nphp bin/console doctrine:fixtures:load --fixtures=/path/to/src/Infrastructure/Persistence/Doctrine/Fixture/LoadWishesData.php\nphp bin/console server:start\n```\n\n## Project structure\nTODO: write about project structure\n\n## Support\nIf you have any problems using the application, please open a Github issue. The same applies to any questions or feature requests.\n\n## Contributions\nAny contribution is appreciated. This application serves as an example implementation of the domain driven design. I'd be very glad of any kind of shares of this repository being it a tweet, a post, a link, or whatever.\n\n## Tests\nThe application is covered by unit and functional tests. Functional tests use SQLite database. Before running tests, please copy PHPUnit's configuration file:\n\n```bash\ncp ./phpunit.xml.dist ./phpunit.xml\n```\n\nThen use the following command to run tests:\n\n```bash\n./vendor/bin/phpunit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranzose%2Fsymfony-ddd-wishlist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffranzose%2Fsymfony-ddd-wishlist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffranzose%2Fsymfony-ddd-wishlist/lists"}