# Backend Architecture Decisions - Use NoSQL - MongoDB (ask Mongo Atlas for on premise solution) - Relational Database (PostgreSQL) - ORM library selection - SqlAlchemy - Pony ORM - [encode/orm: An async ORM. 🗃 (github.com)](https://github.com/encode/orm#:~:text=The%20orm%20package%20is%20an%20async%20ORM%20for,you%20can%20use%20Alembic%20to%20provide%20database%20migrations.) - [GitHub - tortoise/tortoise-orm: Familiar asyncio ORM for python, built with relations in mind](https://github.com/tortoise/tortoise-orm/) - [3.sqlalchemy和其他orm框架的对比 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/79657315) - https://sqlmodel.tiangolo.com/ - [ ] Use sops to encrypt secret config file - [ ] Save image or pdf to mongodb or not - [database - Storing Images in DB - Yea or Nay? - Stack Overflow](https://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay) - [7 Best Self-Hosted S3-Compatible Object Storage Software (geekflare.com)](https://geekflare.com/self-hosted-s3/) - [Deployment and Management — MinIO Baremetal Documentation](https://docs.min.io/minio/baremetal/installation/deployment-and-management.html) - [x] Generate setup.py from poetry build - [ ] Modulize service components - [ ] Test modules - [ ] Service modules - [ ] KYC ? - [ ] Keycloak - [ ] Notification Service - [ ] One Account ? - [ ] Error handling - [ ] Error code ? - [ ] Constants ? - [ ] API Gateway - [ ] Use traefik to solve parsing issue on krakend
{"metaMigratedAt":"2023-06-16T23:45:20.547Z","metaMigratedFrom":"Content","title":"Backend Architecture Decisions","breaks":true,"contributors":"[{\"id\":\"210b3a68-4897-407c-b360-7caf9be84b58\",\"add\":1472,\"del\":1}]"}
Expand menu