# app-api **Repository Path**: mirrors_yiisoft/app-api ## Basic Information - **Project Name**: app-api - **Description**: API application project template - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-10 - **Last Updated**: 2026-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Yii

Yii API application

An application template for a new API project


[![Latest Stable Version](https://poser.pugx.org/yiisoft/app-api/v)](https://packagist.org/packages/yiisoft/app-api) [![Total Downloads](https://poser.pugx.org/yiisoft/app-api/downloads)](https://packagist.org/packages/yiisoft/app-api) [![build](https://github.com/yiisoft/app-api/actions/workflows/build.yml/badge.svg)](https://github.com/yiisoft/app-api/actions/workflows/build.yml) [![Code Coverage](https://codecov.io/gh/yiisoft/app-api/branch/master/graph/badge.svg)](https://codecov.io/gh/yiisoft/app-api) [![static analysis](https://github.com/yiisoft/app-api/workflows/static%20analysis/badge.svg)](https://github.com/yiisoft/app-api/actions?query=workflow%3A%22static+analysis%22) [![type-coverage](https://shepherd.dev/github/yiisoft/app-api/coverage.svg)](https://shepherd.dev/github/yiisoft/app-api) [![psalm-level](https://shepherd.dev/github/yiisoft/app-api/level.svg)](https://shepherd.dev/github/yiisoft/app-api)

API request result

The package is an API application template. If you need console only or classic web please start with corresponding templates: - [Console application template](https://github.com/yiisoft/app-console) - [Web application template](https://github.com/yiisoft/app) ## Requirements - PHP 8.2 - 8.5. ## Installation ### Local installation If you do not have [Composer](https://getcomposer.org/), you may install it by following the instructions at [getcomposer.org](https://getcomposer.org/doc/00-intro.md). Create a project: ```shell composer create-project yiisoft/app-api myproject cd myproject ``` To run the app: ```shell APP_ENV=dev ./yii serve ``` Now you should be able to access the application through the URL printed to console. Usually it is `http://localhost:8080`. ### Installation with Docker > [!WARNING] > Docker compose version 2.24 or above is required. Fork the repository, clone it, then: ```shell cd myproject make composer update ``` To run the app: ```shell make up ``` To stop the app: ```shell make down ``` The application is available at `https://localhost`. Other make commands are available in the `Makefile` and can be listed with: ```shell make help ``` ## Directory structure The application template has the following structure: ``` config/ Configuration files. common/ Common configuration and DI definitions. console/ Console-specific configuration. environments/ Environment-specific configuration (dev/test/prod). web/ Web-specific configuration. docker/ Docker-specific files. public/ Files publically accessible from the Internet. index.php Entry script. runtime/ Files generated during runtime. src/ Application source code. Api/ API action handlers and API-specific code. Shared/ Shared API components (middleware, presenters, factories). Console/ Console commands. Shared/ Code shared between API and console applications. tests/ A set of Codeception tests for the application. Api/ API endpoints tests. Console/ Console command tests. Functional/ Functional tests. Unit/ Unit tests. vendor/ Installed Composer packages. Makefile Config for make command. yii Console application entry point. ``` ## Testing The template comes with ready to use [Codeception](https://codeception.com/) configuration. To execute tests, in local installation run: ```shell ./vendor/bin/codecept build APP_ENV=test ./yii serve > ./runtime/yii.log 2>&1 & ./vendor/bin/codecept run ``` For Docker: ```shell make codecept build make codecept run ``` ## Static analysis The code is statically analyzed with [Psalm](https://psalm.dev/). To run static analysis: ```shell ./vendor/bin/psalm ``` or, using Docker: ```shell make psalm ``` ## Support If you need help or have a question, check out [Yii Community Resources](https://www.yiiframework.com/community). ## License The Yii3 API template is free software. It is released under the terms of the BSD License. Please see [`LICENSE`](./LICENSE.md) for more information. Maintained by [Yii Software](https://www.yiiframework.com/). ## Support the project [![Open Collective](https://img.shields.io/badge/Open%20Collective-sponsor-7eadf1?logo=open%20collective&logoColor=7eadf1&labelColor=555555)](https://opencollective.com/yiisoft) ## Follow updates [![Official website](https://img.shields.io/badge/Powered_by-Yii_Framework-green.svg?style=flat)](https://www.yiiframework.com/) [![Twitter](https://img.shields.io/badge/twitter-follow-1DA1F2?logo=twitter&logoColor=1DA1F2&labelColor=555555?style=flat)](https://twitter.com/yiiframework) [![Telegram](https://img.shields.io/badge/telegram-join-1DA1F2?style=flat&logo=telegram)](https://t.me/yii3en) [![Facebook](https://img.shields.io/badge/facebook-join-1DA1F2?style=flat&logo=facebook&logoColor=ffffff)](https://www.facebook.com/groups/yiitalk) [![Slack](https://img.shields.io/badge/slack-join-1DA1F2?style=flat&logo=slack)](https://yiiframework.com/go/slack)