some content updates

This commit is contained in:
2022-02-13 16:14:54 +01:00
parent 7042956bbc
commit af28fbd41b
5 changed files with 9 additions and 11 deletions

View File

@ -1,4 +1,4 @@
[`Laravel 8`](https://laravel.com/) implementation on `PHP 8.1` with extensive usage of last attributes support. The particularity of this framework is to give you almost of all you need for quickly develop any complex application. So minimal external packages need.
[`Laravel 9`](https://laravel.com/) implementation on `PHP 8.1` with extensive usage of last attributes support. The particularity of this framework is to give you almost of all you need for quickly develop any complex application. So minimal external packages need.
I obviously made use of `Eloquent` as a very expressive Active Record ORM, and the Laravel factories system based on [PHP Faker](https://fakerphp.github.io/) is already perfect for dummy data generator.
@ -11,4 +11,3 @@ Main packages involved :
* [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) as formatter with Laravel style guide
* [Larastan](https://github.com/nunomaduro/larastan), a Laravel wrapper of [PHPStan](https://phpstan.org/), as advanced code static analyzer
* [Pest](https://pestphp.com/) as nice Jest-like API superset of existing PHPUnit
* [PHPUnit Watcher](https://github.com/spatie/phpunit-watcher) can be perfectly integrated with Pest for perfect `TDD` experience

View File

@ -1,10 +1,9 @@
[`NestJS 8`](https://nestjs.com/) implementation under `NodeJS 16` using [`Typescript`](https://www.typescriptlang.org/) and [`pnpm`](https://pnpm.io/) as fast package manager.
It can rely on [`fastify`](https://www.fastify.io/) as modern NodeJS HTTP server implementation. NestJS offers a nice OpenAPI documentation generator thanks to Typescript which provides strong typing.
It can rely on [`fastify`](https://www.fastify.io/) as modern and fast NodeJS HTTP server implementation. NestJS offers a nice OpenAPI documentation generator thanks to Typescript which provides strong typing.
Main packages involved :
* [MikroORM](https://mikro-orm.io/) as `DataMapper` ORM that relies on Typescript, including migrations
* [faker.js](https://github.com/marak/Faker.js/) as dummy data generator
* [MikroORM](https://mikro-orm.io/) on **latest v5** as `DataMapper` ORM that relies on Typescript, including migrations and seeders with as dummy data generator
* [ESLint](https://eslint.org/) with [Prettier](https://prettier.io/) for linting and code formatting
* [Jest](https://jestjs.io) as main test framework

View File

@ -1,4 +1,4 @@
[`Symfony 5.4`](https://symfony.com/) implementation on `PHP 8.1` with usage of [API Platform](https://api-platform.com/), a very powerful API crud generator that supports PHP 8 attributes. This project tries to be the most "API Platform" way to do it, with usage of [Data providers](https://api-platform.com/docs/core/data-providers/), [Data persiters](https://api-platform.com/docs/core/data-persisters/), [DTOs](https://api-platform.com/docs/core/dto/), simple action controllers with only one `__invoke` known as `ADR` pattern.
[`Symfony 6.0`](https://symfony.com/) implementation on `PHP 8.1` with usage of [API Platform](https://api-platform.com/), a very powerful API crud generator that supports PHP 8 attributes. This project tries to be the most "API Platform" way to do it, with usage of [Data providers](https://api-platform.com/docs/core/data-providers/), [Data persiters](https://api-platform.com/docs/core/data-persisters/), [DTOs](https://api-platform.com/docs/core/dto/), simple action controllers with only one `__invoke` known as `ADR` pattern.
It was for me the less pleasant experience of all project, as I spent most of the time to fight against the tool instead of really develop the app, but it was the main purpose of this project, as I have already known the classical way to do it. `API Platform` is certainly a very powerful and flexible beast, but with some nasty caveats. It was nevertheless very instructive.

View File

@ -9,7 +9,7 @@ But I had to decide to stop this project after a couple of months because multip
* Less time available
* Too much effort to maintain and evolve it
* Not written on `Typescript` that allows proper refactoring
* Not unit tests from the beginning, which is a **HUGE** mistake
* No unit tests from the beginning, what has proved to be **HUGE** mistake
* `Vite`, `Vue 3` with real `Typescript` support and `Vuetify 3` are in the corner, which necessitates full rewrite and new *next* repo
Nevertheless, it was a very instructive project that shows me the **real amount work for a good documentation** and the **cost of missing proper unit/integration/e2e tests**.

View File

@ -7,14 +7,14 @@ description: "This is adr1enbe4udou1n blog."
A 🧔🌍💻 aka senior web developer @Bretagne 🇫🇷
{{< /lead >}}
Hi folks, I'm a french web lover actually working [@Cesson-Sévigné](https://fr.wikipedia.org/wiki/Cesson-S%C3%A9vign%C3%A9), mastering `Vue 3` and `Typescript` on frontend side as well as `Laravel` and `ASP.NET Core` as main backend frameworks. Use preferably utility-first CSS framework as `Tailwind` / `Windi CSS`, but also comfortable with `Sass` with **BEM** implementation.
Hi folks, I'm a french web lover actually working [@Cesson-Sévigné](https://fr.wikipedia.org/wiki/Cesson-S%C3%A9vign%C3%A9), mastering `Laravel` and `ASP.NET Core` with `C#` as main backend frameworks, as well as `Vue 3` associated with `Typescript` and [`Composition API`](https://vuejs.org/guide/extras/composition-api-faq.html) on frontend side. Use preferably utility-first CSS framework as `Tailwind` / `Windi CSS`, but also comfortable with `Sass` with **BEM** implementation.
I love develop proper API design following `DDD` + `Hexa` principles if applicable. My favorite backend stack is `ASP.NET Core` and `C#`. I'm also comfortable with [`Nest.js`](https://nestjs.com/) associated to [`MikroORM`](https://mikro-orm.io/) (*Typescript*), [`FastAPI`](https://fastapi.tiangolo.com/) (*Python*), and [`Spring Boot`](https://spring.io/projects/spring-boot) (*Java*).
I love develop proper API design following `DDD` + `Hexa` principles if applicable. In addition to above `.NET` and `PHP` backend stacks, I'm also confident with [`Nest.js`](https://nestjs.com/) associated to [`MikroORM`](https://mikro-orm.io/) (*Typescript*), [`FastAPI`](https://fastapi.tiangolo.com/) with [`SQLAlchemy`](https://www.sqlalchemy.org/) (*Python*), and [`Spring Boot`](https://spring.io/projects/spring-boot) with `Hibernate` as main JPA implementation (*Java*).
I encourage `TDD` or at least proper **integration tests** on any backend frameworks, following `AAA` aka *Arrange Act Assert* principle. Mastering `PHPUnit` or [`Pest`](https://pestphp.com/) for *PHP*, `xUnit.net` with [`Fluent Assertions`](https://github.com/fluentassertions/fluentassertions) for *.NET Core*, `JUnit` with [`REST Assured`](https://rest-assured.io/) for *Spring Boot*, `Jest` and `pytest` on respective *NodeJS* end *Python* stacks.
Fully embracing app containerization with `Docker`, from local, staging to production. I push to use properly configured `CI/CD` whenever is possible in order to enforce linting and coding standard at any languages ([`ESLint`](https://eslint.org/), [`Prettier`](https://prettier.io/), [`PHP CS fixer`](https://cs.symfony.com/), [`PHPStan`](https://github.com/phpstan/phpstan), [`Black`](https://black.readthedocs.io/en/stable/), [`mypy`](http://mypy-lang.org/), and so on...). I personally use [`Drone CI`](https://www.drone.io/) and `GitLab` as main CI/CD solutions.
Fully embracing app containerization with `Docker`, from local, staging to production, I push to use properly configured `CI/CD` whenever is possible in order to enforce continuous automatized testing, linting and coding standard at many languages ([`ESLint`](https://eslint.org/), [`Prettier`](https://prettier.io/), [`PHP CS fixer`](https://cs.symfony.com/), [`PHPStan`](https://github.com/phpstan/phpstan), [`Black`](https://black.readthedocs.io/en/stable/), [`mypy`](http://mypy-lang.org/), [`Google Java Format`](https://github.com/google/google-java-format), [`Spotless`](https://github.com/diffplug/spotless), and so on...). I personally use [`Drone CI`](https://www.drone.io/) and `GitLab` as main CI/CD solutions.
Mastering installations of `Docker Swarm` clusters with [`Traefik`](https://traefik.io/traefik/) as cloud proxy and [`Portainer`](https://www.portainer.io/) as nice GUI for cluster management. I use `Loki`, `Prometheus` and `Jaeger` as respective *logging*, *metrics* and *tracing* tools, all combined to `Grafana` as GUI dashboard builder for *Ops*. Have some experiences with many cloud providers as [Digital Ocean](https://www.digitalocean.com/), [Hetzner](https://www.hetzner.com/), [OVH](https://www.ovhcloud.com/), [Scaleway](https://www.scaleway.com/).
Mastering installations of properly configured `Docker Swarm` clusters with [`Traefik`](https://traefik.io/traefik/) as cloud proxy and [`Portainer`](https://www.portainer.io/) as simple GUI for containers management. I use [`Loki`](https://grafana.com/oss/loki/), [`Prometheus`](https://prometheus.io) and [`Jaeger`](https://www.jaegertracing.io/) as respective *logging*, *metrics* and *tracing* tools, all combined to [`Grafana`](https://grafana.com) as perfect GUI dashboard builder for *Ops*. I mainly use [`K6`](https://k6.io/) and [`Locust`](https://locust.io/) as main *load testing tools*. Have some experiences with many mid-range cloud providers as [Digital Ocean](https://www.digitalocean.com/), [Hetzner](https://www.hetzner.com/), [OVH](https://www.ovhcloud.com/), [Scaleway](https://www.scaleway.com/).
See some of [my open sourced works]({{< ref "works" >}} "Okami101 Works").