Actions

LimeSurvey architecture: Difference between revisions

From LimeSurvey Manual

Line 57: Line 57:


=== Layers ===
=== Layers ===
LimeSurvey uses a basic MVC layered architecture.
* View layer
* Controller layer
* Business logic layer
* Database storage layer (also includes domain entity validation)


[[File:ls_arch.png]]
[[File:ls_arch.png]]

Revision as of 13:26, 25 August 2021

This is the main public document for LimeSurvey's architecture

Overview

todo, constraints

Vision

todo

Risks

As defined in the code quality guide.

Risk identification, analysis, mitigation, monitor.


Product risk

todo

  • Data loss (known or unknown)
  • Unauthorized data access
  • Blocking bugs (that leads to data loss)

Project risk

todo

  • Communication

Business risk

Internal

Quality attributes

Maintainability, easy to deploy, testability

Technology stack

Dependency management, packaging, plugin

todo

Views

4+1 view model?

Domain

A simple domain diagram over LimeSurvey:

Source.

Layers

LimeSurvey uses a basic MVC layered architecture.

  • View layer
  • Controller layer
  • Business logic layer
  • Database storage layer (also includes domain entity validation)

Source.

Flow and state

automata between states

admin flow diagram? what makes sense to document? create survey process?

API design

todo

Security

todo