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.
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
Attribute | Value |
---|---|
Aggregate | Average |
Data | Training |
Field | Price |
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
Attribute | Value |
---|---|
Type | Column chart |
Aggregate | Sum |
Data | Purchase |
Y-axis attribute | Income |
X-axis attribute | Month |