---
# System prepended metadata

title: Maintenance tasks

---

# Maintenance tasks

## High prio
- **Refactor api architecture:** *During the development we tried to keep the code in touch with all the changes, but it is quite messy when looking at architecture design. We would like to improve the code structure for better testablity and SoC* **[40h]** ([RM:72288](https://redmine.ack.ee/issues/72288))
    - replace model classes with services
    - add components for third party services (firebase)
- **Dataloaders**: GraphQL requires special handling of fetching the relations from database. Basic approach are dataloaders. We omitted it for MVP and we would like to introduce this feature. **[32H]** ([RM:68376](https://redmine.ack.ee/issues/68376))

## Mid prio
- **Monitoring**: https://redmine.ack.ee/issues/67938 - *Do not required that much right now, we have QueryInsides in Cloud console which looks enough right now* **[32-40H]**
    - Integrate graphql with grafana
    - Slow queries
    - Response times and codes
- **Improve test coverage** *Old MVP features are not covered with tests.* **[???H]**
- **Have images in separate bucket than other images**
    - Slack context: https://ackee.slack.com/archives/C03DPTEJ1TL/p1657897120901809
    - Resizin and other tools can have access to bucket with images, we do not want to have other files that should not be accessible in same bucket (e.g. invoices)
    - Setup a new bucket and move invoices to other bucket
    - Save invoices in the new bucket only

## Low prio
- Remove images from GCS: https://redmine.ack.ee/issues/64995

---

## Backlog
*Write down things that you don't like when working on Vivents API*


## Notes
Michal
- Deprecated input fields - projít [MEDIUM]
- Permissions - refactor [MEDIUM]
- Testy refactor (setup testů, seedy, truncate, check používání fixtures) [LOW]

Jarda
- Testy++ [LOW]
- Checknout triggery pro objednávky  [MEDIUM]
- Dataloadery [MEDIUM]
- Transakce - isolation level check [MEDIUM]

Karin 
- operationName do logování - vymyslet jak logovat persistent queries [HIGH]
- zkouknout TODOs v kódu (hide introspection, suggestions) [LOW]
- synchronizovat názvosloví pro stavy viventů - produktů (archieved) [HIGH]
- graphql compare - merge bez rebase [LOW]
- models - sjednotit kód - refactorizace struktury [MEDIUM]

Pavel 
- přetypování id - problémy s porovnáním idéček [HIGH]


## Done maintenance
- No invoice custom error: https://redmine.ack.ee/issues/71172
- Firebase picture: https://redmine.ack.ee/issues/64427
- Refactor old tests to use fixtures, ...: https://redmine.ack.ee/issues/72526