Datastore is a fully-managed, document-oriented data service that uses blueprints (API specifications and data models) to simplify storing and querying data for web applications.
Using Datastore, you can focus on delivering the customer experience by leveraging blueprints to automate backend tasks normally associated with server-side coding, database engineering, building APIs, and developer operations.
Add a blueprint to Datastore, which automatically constructs a set of web-accessible endpoints with appropriate HTTP methods, data models and security, as a discrete containerized microservice. Your blueprint’s endpoints map to the exact functionality of your web application.
Structure and organize primitive and composite data types, such as numbers, booleans, strings, dates, and arrays, as key-value pairs within document-oriented and nestable collections.
Easily configure Datastore’s complete local simulation environment to learn more about Datastore’s core concepts and capabilities, and test your own blueprints before uploading them into production.
Add, update, list, and rename blueprints in Squiz DXP Console (DXP Console) directly from your terminal using friendly command line interface (CLI) tools, without having to rely on developer operations (DevOps) for assistance.
Deny access to your Datastore data by default. Developers can implement access control rules in their blueprint to define user-level access to data. Authenticating requests with JSON web tokens (JWTs) (obtained by a user authenticating to an identity service provider) to access Datastore data is then required for these requests to succeed.
Leverage DXP Console’s SaaS architecture to ensure your web application’s blueprints are always up to date with the latest bug fixes and new features, without having to manage outages and maintenance windows.
A blueprint is a single API specification file and one or more data model files that define the structure of your data storage requirements for a specific project. Your blueprint’s files are uploaded to DXP Console to automatically generate a Datastore service.
The API specification file (based on OpenAPI v3) is in YAML format and each data model file (based on JSON Schema) is, unsurprisingly, in JSON format. All these files define a blueprint’s data organization within collections and documents, along with the blueprint’s set of endpoints, HTTP methods, access controls, and data types that can be mapped to the exact functionality of the client application.
Before working on developing your application, first design or reuse an existing blueprint to describe the structure and shape of your data storage needs, and how that data should be queried by your application. Blueprints that share common data structures across multiple projects can be reused and tweaked if necessary.
Datastore is extremely flexible and particularly helpful in the following situations and scenarios.
Page widgets ranging from simple submission forms through to complex multi-step forms that integrate with third party applications.
Multi-page apps (MPAs) that require their own underlying information architecture, and usually encompasses a subsection of a website (including a number of URL paths) to support the user experience. Learn more about the differences between SPAs and MPAs on medium.com.
Create and maintain an up-to-date user profile including app configuration details and extra information such as IP address, geolocation, email, browser, and device details. Use that data to personalize the app experience.
Store information about how end users interact with an app, such as past and current behaviour, and specific interaction events. Use that information for analytics purposes or to personalize the app experience.
Use Datastore to:
Rapidly pick up from where you leave, for example, in a complex, multi-step government or council application process.
Present recommendations based on behaviour and location, for example, university courses a student might be interested in.
Track progress in a task-based workflow, for example, knowing which learning modules have been completed in a training course.
Tailor the look and feel of an app based on user settings and preferences.
Build dashboards to report on what customers are doing with your application.
To learn more about Datastore’s capabilities, refer to the Tutorials section.