A sample wishlist application built with Symfony 3 and Vue.js using Domain-Driven Design principles.
Symfony DDD Wishlist is a sample application that implements a wishlist system using Domain-Driven Design principles. It demonstrates how to structure a PHP application with Symfony 3 and Vue.js, focusing on domain logic for managing wishes, funds, and fulfillment. The project solves the problem of understanding DDD in practice by providing a concrete, working example with a simple but illustrative domain.
PHP developers, particularly those using Symfony, who want to learn or implement Domain-Driven Design in their projects. It's also suitable for full-stack developers interested in integrating Vue.js with a Symfony backend in a DDD context.
Developers choose this project because it offers a hands-on, open-source example of DDD applied to a real-world scenario, complete with a full tech stack and testing. Its unique selling point is the clear demonstration of DDD patterns alongside modern tools like Docker, making it accessible for educational and reference purposes.
Wishlist, a sample application on Symfony 3 and Vue.js built with DDD in mind
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a concrete, hands-on implementation of Domain-Driven Design with a clear domain model for wish management, inspired by the DDD Cargo Sample, making it ideal for learning.
Demonstrates seamless backend-frontend integration using Symfony 3 with Vue.js and Sass, offering a complete application stack for reference and experimentation.
Includes unit and functional tests with SQLite, as detailed in the README, ensuring code quality and providing examples for testing DDD applications.
Uses Docker Compose for easy backend setup with PostgreSQL and Redis, simplifying environment configuration and replication, as shown in the installation steps.
Relies on Symfony 3, which is deprecated and lacks security updates and features of newer versions, limiting its relevance for modern PHP development.
The README admits some features are unimplemented and has TODOs (e.g., project structure), reducing its usefulness as a comprehensive guide.
Requires multiple steps including Docker, Composer, npm, and manual configuration, which can be cumbersome for quick learning or prototyping.