Cuvva's functionality is separated into a number of services, each of which is kept as simple as possible. The APIs of all the public services are documented here.
These services work with the same data in testing and real-life usage. As such, the prod version of these services are shared with dev:
- auth - provides a simple OAuth implementation, authorizing access to all other services
- code-mapping - provides human-readable mappings for codelists
- content - provides strings and pages for display to users
- marketing-consent - keeps track of users' consent for marketing communications
- mot - provides MOT testing data from the DVSA
- notification - registration of push notification tokens
- terms - tracks users' acceptance of legal terms
- upload - handles all binary file uploads (e.g. photos)
- vehicle - allows simple vehicle lookup
This makes it much easier to perform testing day-to-day, as user/vehicle/etc. IDs are the same between dev and prod. For example, a prod file upload can be used with dev too.
As isolated testing of these services is sometimes necessary, we do also maintain a sandbox environment, which is a complete copy of prod.
These services cannot be used between environments:
- billing - stores users' payment methods and authorizes payments
- driving-license-registration - handles registration of driving licenses for users
- flexi - manages the subscription product (formerly known as Flexi)
- incident - stores users' incidents history
- intercom - provides the HMAC signatures needed for Intercom's "secure mode"
- motor-coverage - issues quotes and policies for motor insurance
- news - provides news items for display in the apps
- profile - handles user profile data (name, birth date, etc.)
- promo - handles our referral scheme, promotions, discounts, etc.
- user-config - provides feature flags/config to our apps
By default, accounts only work on prod. If you'd like access to dev or sandbox, drop me an email: firstname.lastname@example.org