Setting up the basic domain

Create the base domain infrastructure. The entities do not necessarily have their final shape, as they might need to evolve in order to support currently unforeseen abilities.

- [ ] Create entities
- [ ] Create value objects if needed
- [ ] Create database migrations
- [ ] Create service layer
- [ ] Configure service layer in Service Container