Skip to content

Commit

Permalink
LITE-29416: Adding general guidelines. Tech Stack + CI/CD flow
Browse files Browse the repository at this point in the history
  • Loading branch information
akodelia committed Jan 24, 2024
1 parent d31e062 commit 801cc65
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions docs/dev_guide/extensions_guidelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
This article pretends to give some guideles on tech stack, code style and tools that Connect team considers usefull and easiest to get starting with extensions.


## Tech Stack

- ORM and db toolkit: SQLAlchemy
- Database: PostgresSQL 11
- Web framework: FastAPI
- Pagination: fastapi-pagination
- Filtering and sorting: fastapi_filter
- Api data representation: pydantic
- Dependency managment: poetry
- Docker for extension execution

## Testing

- PyTest
- Factory boy: pytest-factoryboy
- pytest-asyncio to test code that uses asyncio.


## Code styling

### [Flake8](https://flake8.pycqa.org/en/latest/)

Next we show the list of all plugins that are included by default on template's project.

* max-lines: 100
* max-cognitive-complexity: 15
* import-order-style = smarkets
* flake8-bugbear
* flake8-commas
* flake8-future-import
* flake8-import-order
* flake8-broken-line
* flake8-comprehensions
* flake8-debugger
* flake8-eradicate
* flake8-string-format

## CI/CD

### Tests workflow

By default, our bootstrap will create a github workflow with 4 jobs, 3 for backend tests, one per each one of this python versions: 3.8, 3.9, 3.10. And one more, in case it was added, to run frontend tests.

## Another Tools

[Connect-cli](https://github.com/cloudblue/connect-cli)
[Docker compose](https://docs.docker.com/compose/)
[Poetry](https://python-poetry.org/docs/basic-usage/)

0 comments on commit 801cc65

Please sign in to comment.