Haffa manages high level concepts such as
- persistence and querying of adverts and profiles
- persistence of settings (categories, login policies, api keys...)
- managing password-less authentication flows
- notifying users about intersting state changes
These concepts are caried out by different drivers, from which alternatives can be chosen based on performance requirements, budget etc.
Feature | Production | QA | Local development | Unit testing |
---|---|---|---|---|
Minio | Recommended | Recommended | Situational | Probably never |
MongoDB | Recommended | Recommended | Situational | Probably never |
File System | Low budget | Low budget | Situational | Probably never |
Transactional email notifications | Recommended | Recommended | Situational | Probably never |
Memory | Never | Situational | Situational | Always |
In runtime, the actual driver is chosen based on environment configuration.
In order of precedence (from top to bottom), the rules are
Adverts and profiles | Files | Login state | Notifications |
---|---|---|---|
MongoDB | MongoDB | ||
Minio | |||
File System | File System | ||
Transactional email notifications | |||
Memory | Memory | Memory | console |