> For the complete documentation index, see [llms.txt](https://docs.stooa.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stooa.com/documentation/development/structure.md).

# Structure

The [Stooa](https://github.com/Stooa/Stooa) repository contains code for:

## Backend

The `/backend` folder contains all the backend code. We are mainly using [Symfony](https://github.com/symfony/symfony) with [Api Platform](https://github.com/api-platform/api-platform) (for the API generation) and [Sonata](https://github.com/sonata-project/SonataAdminBundle) for the administration panel.

If you change `backend` code, there are several checks that the code need to pass:

* [PHPStan](https://github.com/phpstan/phpstan)
* [Psalm](https://github.com/vimeo/psalm)
* [PHP CS FIXER](https://github.com/FriendsOfPHP/PHP-CS-Fixer)
* [PHPUnit](https://github.com/sebastianbergmann/phpunit)

## Frontend

The `/frontend` folder contains all the frontend code. We are mainly using [React](https://github.com/facebook/react) with [Next.js](https://github.com/vercel/next.js) and [Apollo](https://github.com/apollographql) for the GraphQL calls to the backend.

If you change `frontend` code, there are several checks that the code need to pass:

* [ESLint](https://github.com/eslint/eslint)
* [Prettier](https://github.com/prettier/prettier)
* [Next.js build](https://github.com/vercel/next.js)
* [Jest tests](https://github.com/facebook/jest)
