Bible Beliefs Mobile Requirements
Since this is a small project and we want Agile development, let's skip the garbage and go straight to what the users will do. I'm going to embed design decisions directly here so that we can link the "user stories" with the development design decisions.
User Stories
Basic Use Story
Priority: 1
Users want to create read, update, delete and search their own beliefs in the following structure: $$Topics \leftarrow Beliefs \leftarrow Bible Texts$$. Each of these is represented as follows
string Topic, which has many
string Belief, which has many
(int Book),(int Chapter), (int startVerse), (int endVerse)
Users will need to authenticate to the application/services.
See design decisions: /DataLayer, /AuthenticationService
Synchronizing for multiple devices and offline usage
Priority: 2
Users must be able to use their data on multiple devices and be able to CRUD data offline.
Users must register and pay for a subscription to this service.
See design decisions: /Subscriptions, /DataLayer
This information will be stored in a central data repository with access provided by a webservice.
Users will not share the editing of any item with another user, and at this time will not have a way to share their recorded information through the app with anyone. (Of course they can share it, but we are not providing a way to do it yet.
Users will sync information from the central data repository to their