Created all model classes as well as collection classes. Also created a Service class to ensure Reference integrity from one collection record to another collection record. Similar to a "foreign key" in SQL.
Collection classes: These will be the classes interacting with the collections in MongoDB Atlas. I created an Interface to ensure all collection classes implement a set of specific methods.
Model classes: These represents the entities in the project domain. All of these classes inherit from Pydantic BaseModel class which allows me to perform some amazing data validation before creating an instance of those classes. This will also help me ensure data integrity, that way I only insert data into the db in the format I want.
Created all model classes as well as collection classes. Also created a Service class to ensure Reference integrity from one collection record to another collection record. Similar to a "foreign key" in SQL.
Checkout the Wiki & the ReadMe