Refactor project structure and update configurations for State Corp backend

- Updated project description in __init__.py
- Enhanced .gitignore to exclude additional data files
- Modified User model to remove first_name and last_name fields
- Improved instance save method in services.py to include updated_at field
- Added API tokens to .env.example for external services
- Cleaned up test files for better readability
- Updated Dockerfile and docker-compose.yml for improved setup
- Revised README.md to reflect project changes and added changelog
This commit is contained in:
2026-02-17 09:24:42 +01:00
parent e9d7f24aaa
commit fd2adf9ab4
31 changed files with 1419 additions and 933 deletions

View File

@@ -1,10 +1,8 @@
[project]
name = "state-corp-backend"
version = "0.1.0"
description = "Backend для системы Отчётность Организаций (State-Corp)"
authors = [
{name = "Your Name", email = "your.email@example.com"},
]
description = "Backend service for State Corp project"
authors = [{ name = "Your Name", email = "your.email@example.com" }]
requires-python = ">=3.11"
dependencies = [
# Django Framework
@@ -47,6 +45,11 @@ dependencies = [
"model-bakery>=1.17.0",
"faker>=40.1.2",
"factory-boy>=3.3.0",
"openpyxl>=3.1.5",
"django-jazzmin>=2.6.2",
"playwright>=1.57.0",
"pylint>=3.0",
"whitenoise>=6.11.0",
]
[project.optional-dependencies]
@@ -103,7 +106,7 @@ packages = ["src"]
# ==================================================================================
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "config.settings.test"
python_paths = ["src"]
django_find_project = false
testpaths = ["tests"]
addopts = [
"--verbose",
@@ -222,29 +225,29 @@ exclude = [
[tool.ruff.lint]
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # mccabe
"B", # flake8-bugbear
"Q", # flake8-quotes
"DJ", # flake8-django
"UP", # pyupgrade
"S", # bandit security
"T20", # flake8-print
"SIM", # flake8-simplify
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # mccabe
"B", # flake8-bugbear
"Q", # flake8-quotes
"DJ", # flake8-django
"UP", # pyupgrade
"S", # bandit security
"T20", # flake8-print
"SIM", # flake8-simplify
]
extend-ignore = [
"E501", # line too long, handled by formatter
"DJ01", # Missing docstring (too strict for Django)
"DJ001", # null=True on string fields (architectural decision)
"F403", # star imports (common in Django settings)
"F405", # name may be undefined from star imports (Django settings)
"E402", # module level import not at top (Django settings)
"S101", # Use of assert (common in tests)
"T201", # print statements (useful for debugging)
"E501", # line too long, handled by formatter
"DJ01", # Missing docstring (too strict for Django)
"DJ001", # null=True on string fields (architectural decision)
"F403", # star imports (common in Django settings)
"F405", # name may be undefined from star imports (Django settings)
"E402", # module level import not at top (Django settings)
"S101", # Use of assert (common in tests)
"T201", # print statements (useful for debugging)
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
@@ -393,13 +396,13 @@ skips = ["B101", "B601"]
# ==================================================================================
[tool.pylint.messages_control]
disable = [
"C0114", # missing-module-docstring
"C0115", # missing-class-docstring
"C0116", # missing-function-docstring
"R0903", # too-few-public-methods (Django models)
"R0901", # too-many-ancestors (Django views)
"W0613", # unused-argument (Django views)
"C0103", # invalid-name (Django field names)
"C0114", # missing-module-docstring
"C0115", # missing-class-docstring
"C0116", # missing-function-docstring
"R0903", # too-few-public-methods (Django models)
"R0901", # too-many-ancestors (Django views)
"W0613", # unused-argument (Django views)
"C0103", # invalid-name (Django field names)
]
[tool.pylint.format]