Domain-Driven Design Distilled
You managed to split the application into multiple bounded contexts (BCs), one for each domain (sub-domain). This is the perfect situation.
In this case you should have separate databases (or at least separate tables/collections) for each bounded context. In order to shared data from one BC to other BC you should use the Context mapping strategic DDD pattern to see what is the best technique (depending on your architecture you could use an Anti-corruption layer to share the data between an upstream and a downstream BC).
Read more here about integration types between BCs.
PS. In the book Domain-Driven Design Distilled by Vaughn Vernon you can find some integration examples.