Skip to content

Use case in the education industry

Collection of needs

Mr. Smith sells online training courses on the Internet. He wants to develop an application to manage his customers and his content. To do this, he turns to the back office solution.

Mr. Smith wants to focus solely on writing the content of his training courses. He delegates the payment of his training courses to a third-party online payment application such as Stripe or PayPal.

He also wants to set up a decentralized database allowing him to reference his customers, his training, purchases and any discount codes.

Finally, Mr. Smith wants to manage his company's performance through metrics that track training sales over time.

Implementation

We offer an application model to Mr. Smith to meet his needs.

Diagram

Our schema consists of 4 entities:

  • Customer
  • Training
  • Purchase
  • Discount code

Customer

A customer has an email, first_name, last_name, address, phone attribute and a full_name virtual field whose function is $first_name $last_name.

Training

A training has a title, price and document attribute. The title can be translated into several languages. The document is in PDF format.

Purchase

A purchase is for a customer, a training and a discount code (optional). A purchase has a virtual field income whose function is $training.price * ((100 - $discount_code.percentage) / 100).

Discount code

A discount code has a value attribute and a percentage attribute.

Management

In order to get an overview of his business, we suggest that Mr. Smith create metrics and charts.

Metrics

Mr. Smith wants to monitor the average prices of his training courses since the creation of his business. To do this, we create the associated metric.

Average prices of trainings

AttributeValue
AggregateAverage
DataTraining
FieldPrice

Charts

Mr. Smith wants to manage the performance of his business. To do this, we add a chart to the main dashboard to monitor his company's revenue.

Sum of income of purchases per month

AttributeValue
TypeColumn chart
AggregateSum
DataPurchase
Y-axis attributeIncome
X-axis attributeMonth