Hi guys :p 👯♂
Welcome to Wevo series.
As I introduced in my previous post, I built Wevo.
https://dev.to/h1d3mun3/introducing-wevo-building-a-trust-history-app-with-swift-vapor-340g
In this series, I'll describe how Wevo is built.
Let's Dive in.
Motivation
First, let me explain why I built Wevo.
As I posted before, I believe our trust history and related information should belong with us.
Trust is built from many properties.
History, Details, reactions, date... and so on.
So, I believe these information should be in our hands.
But in reality, this isn't the case.
Our trust history is locked inside platforms.
There are many options to create trust in each other.
(for example, Slack, linkedin, gmail, X(formerly Twitter), facebook..)
If you made a promise on a Slack, and if you want to move promise history to gmail?
that's not. you can't move your trust history to other services.
This is why I built Wevo.
I also had a personal problem: I couldn't remember all the appointments properly.
Make a "Real world" promise model
Organize the flow of the agreement
Next, let's talk about how I made a promise model.
In the real world, many promises follow this sequence.
- One person proposes to another.
- The counterparty accepts the proposal.
- Both parties fulfill their duties.
- The promise is fulfilled.
So, I need to create a model that can at least represent this much.
But, not every promise is fulfilled.
Some promises are not fulfilled due to some reason.
If a promise is not fulfilled, it follows this sequence instead:
- One person proposes to another.
- The counterparty accepts the proposal.
- One of them didn't fulfill their duty.
- The promise is not fulfilled.
In addition, this can also happen.
- One person proposes to another.
- The counterparty doesn't accept the proposal.
I also need to create models that can represent these aspects.
Naming
After organizing the promise sequences, I needed to name each state.
I named each action as follows.
| Action | Description |
|---|---|
| proposed | One person proposes to another |
| signed | The counterparty accepts the proposal |
| parted | One of them rejects the proposal |
| honored | Mark promise as fulfilled |
And named each state as follows.
| State | Description |
|---|---|
| proposed | Created after proposal. Counterparty has not yet signed. |
| signed | Counterparty has signed. |
| dissolved | Counterparty rejected the proposal, or one party withdrew after signing. |
| completed | Both parties marked the promise as honored. |
Next Post
In next post, I will explain how to express agreement in a promise and how to verify its status.
Cheers! 🤙
Happy coding~ 💻😙💻
Top comments (0)