Last active
January 17, 2019 13:44
-
-
Save ekkinox/352cf631907f22e2914b33ff90ace4b1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some ideas for backend | |
# Approach | |
- BDD (DDD ?) | |
- obviously respect of PSR for open source visibility (ease contributions form any level) | |
# About Symfony usage | |
- very strong community | |
- well maintained and documented ready to use core/components (auth, rendering, console, etc) | |
- PSR standards implementations (even PSR7 if needed) | |
- good DI component (autowiring, compiler pass, etc) | |
- easy modular approach for custom needs | |
- easy to switch from MVC to ADR with SF4 | |
# Scalability compliance | |
- .env usage eases scaled configurations | |
- lot of SF compatible vendors to handle whatever market storages (RDBMS, NoSQL, elastic, PSR 6-16 caches, etc) | |
- native PSR3 logging (monolog) | |
- easy to dockerize | |
# IMS standards implementations (QTI, LTI, etc) | |
- should be PSR compliant + framework agnostic libs (reusable/sharable anywhere) | |
- wrapped into symfony components for TAO needs | |
# TAO backend concept | |
- a TAO core symfomy app could be designed wrapping common needs (=> interfaces definitions) | |
- and extended with TAO bundled features (construct, roster, report, ...) to compose on need TAO installations (full, partial) (=> interfaces implementations) | |
- or with customer specific needs bundled features (=> interfaces custom implementations) | |
- using FLEX (https://symfony.com/doc/current/setup/flex.html) for automated complex dependency management (add / remove) | |
# Restful apis | |
- openapiv3 (swagger) usage and benefits | |
- APIPlatform: https://api-platform.com/ for ideas: hateoas, auto doc generation, etc | |
# BDD / Testing | |
- can be done easily on unit/integration/functional level with SF tooling (Web/KernelTestCase) | |
- can be enhanced with Behat usage (BDD approach, gherkin ubiquitous language for business and tech) | |
- blackfire usage could be nice | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
delivery component should maybe be handled outside of this stack