# SEE 03.08.2022 Notes - Contribution guidelines, Standards, Naming Convention
## Overview / Current contex
## Goals of the meeting
- Typings
- Efficient data loading
- Interfaces, Abstract Classes, Classes
- TypeORM vs GraphQL split in the codebase
- **Domain boundaries & service usage + patterns / architecture**
- **Naming conventions**
## Agreements
- Types
- src/types for types that are attached to a module or an external package
- new types / interfaces added in the same folder as the domain / service logic
- any can be used in tests
- we add types when we are adding new domain / service logic before it's merged to develop
- external packages types fixed before prototyping epics are closed - fixing the types should be in the AC of the Epic
- Efficient data loading
- Lightweight wrappers in the services around the repositories key methods e.g. FindOneBy, FindOne, FindMany etc. (whatever is needed)
- Select only data that is needed, if not all eager loaded relationships will be queried
- Use findOneOrFail + rethrowing the exception instead of findOne returning undefined + throw error
- Interfaces, Abstract Classes, Classes
- follow up spike about changing the return types of typeorm method wrappers to the TypeORM derived objects
## Follow ups
- Discuss exception handling, error propagation, stack trace, rethrowing
- Update typeORM
###### tags: `SEE`