readme add

This commit is contained in:
2026-08-29 13:15:24 +03:00
parent 41486fd35a
commit e0ebf45ccb
+71
View File
@@ -0,0 +1,71 @@
# The_DisExcel_project
A FastAPI project combining Excel and digital data ("The Great Excel project that is going to be built from Excel and digital projects").
## Stack
- Python >= 3.13
- FastAPI + Uvicorn / Gunicorn
- SQLAlchemy 2.0 (async) + Alembic (migrations)
- PostgreSQL (asyncpg, psycopg2)
- Pydantic 2 / Pydantic Settings
- Poetry — dependency management
- Docker, Ansible — deployment
## Architecture
```
src/
├── database/ # DB CRUD operations
├── errors/ # HTTP errors
├── logging/ # logging middleware
├── migrations/ # Alembic migrations
├── models/ # Pydantic and SQLAlchemy models, configs
├── reports/ # reports
├── service/ # business logic (auth, users_crud)
└── web/ # routes (protected_routes)
```
Layers are connected top to bottom: `web → service → database → models`.
## Authentication
- JWT access + refresh tokens
- Refresh token is stored in the DB as a SHA256 hash, with rotation and revocation support
- Passwords are hashed with bcrypt
- RBAC: direct user permissions + permissions via groups, checked through `require_permissions()`
## Testing
```
tests/
├── unit/
├── integrated/
└── e2e/
```
Uses pytest, pytest-asyncio, pytest-cov, pytest-mock, allure-pytest.
## Installation
```bash
poetry install
```
## Running migrations
```bash
alembic upgrade head
```
## CI/CD
Pipeline is set up via Gitea Actions (`.gitea/workflows/ci.yml`).
## Deployment
The repository includes ready-made `docker/` and `ansible/` configs for containerization and deployment.
## License
MH.Dmitrii's project