Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Data becomes powerful only when information starts to have relations.  It is not sufficient to only have thousands of separate electronic invoices files. A good invoicing system should include a component that is able to manage its storage. (Think about the relationship between a book, a librarian and a library.) This category of service manages the storage and saves a large number of standard invoices. Reliability and performance are the core of this type of service. You should design and implement a mechanism to stores store standardised e-invoices, making use of existing/open-sourcing technologies. You can include relational databases, NoSQL databases, file systems, or even caching mechanisms in your storage mechanism. In some cases, you may need to discuss the use cases and balance reliability and performance. To deliver extreme experiences, consider reliability and performance separately in different situations. 

...

Grade

Requirements

Status
HIGH DISTINCTION
colourGreen
titleStretch goal

All below and introducing a novel functionality specific to e-invoice storage. The API design should follow defence in depth, well-documented errors, relatively quick response times, and fully deployed on cloud.

Status
colourBlue
titleDISTINCTIONMedium Priority

All below and the API follows enhanced storing mechanisms to provide filtering, modification, deletion, follows efficient REST practices. eg. API authentication, flexibility for end users, and comprehensive documentation. Batch processing is a recommended feature.

Status
colourYellow
titleCREDITMajor Priority

The API should capable of storing e-invoices in different mediums, preserve state for users over long period of times, and follows appropriate REST practices. eg. status codes are appropriate, input and response formats are documented.

Status
PASS
colourPurple
titleMVP

The API provides access to a basic e-invoice storage system allowing users to upload, store and retrieve one or multiple invoices.