You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you would like to run the tests you should run:
$ pip install -e .[testing]
Design Decisions
Views
A view will be the utility functions needed to interface with
Pyramid. They will be extremely light weight, they should validate and
parse JSON/form data, then create any services and facades required and
should contain no business logic.
Service
A service is a class that will represent all the business logic
required to do a certain responsibility like creating authenticating a user.
The facade should not have any access to Pyramid or a persistence store. So
there should be no DBSession or Request available, if the facade needs
database access it should be done through a service.
Backend
A backend is an abstraction around the data access. There should
be as little business logic in a repository as possible, it should be for
connecting to a data store (postgres, zodb, mongodb) and returning the result set.
Mapping functions from database rows to model classes should be done here.
Flows
Flows represent a type of authentication that will include a specific set of services.
local
The local flow represents that standard form workflow where you present a username/password
form that authenticates the user from a database.
The local flow includes things like registration and e-mail verification.
ldap
The ldap flow will authenticate against an LDAP server, no registration or activation is required.