**Describe the solution you'd like** * Update frontend and backend dependencies * Add ruff and mypy to backend, with configuration in pyproject.toml and pre-commit support * Add contributing.md