# app
**Repository Path**: mirrors_yiisoft/app
## Basic Information
- **Project Name**: app
- **Description**: Yii3 application template
- **Primary Language**: Unknown
- **License**: BSD-3-Clause
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-19
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Yii3 web application
An application template for a new web project
[](https://packagist.org/packages/yiisoft/app)
[](https://packagist.org/packages/yiisoft/app)
[](https://github.com/yiisoft/app/actions/workflows/build.yml?query=branch%3Amaster)
[](https://codecov.io/gh/yiisoft/app)
[](https://github.com/yiisoft/app/actions/workflows/static.yml?query=branch%3Amaster)
[](https://shepherd.dev/github/yiisoft/app)
The package is a classic web application template. If you need console only or API please start with corresponding
templates:
- [Console application template](https://github.com/yiisoft/app-console)
- [API application template](https://github.com/yiisoft/app-api)
## 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 myproject
cd myproject
```
> [!NOTE]
> Ensure that Composer is executed with the same PHP version that will be used to run the application.
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:
```
assets/ Asset bundle source files.
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.
assets/ Published/compiled assets.
index.php Entry script.
runtime/ Files generated during runtime.
src/ Application source code.
Console/ Console commands.
Shared/ Code shared between web and console applications.
Web/ Web-specific code (actions, handlers, layout).
Shared/ Shared web components.
Layout/ Layout components and templates.
Environment.php Environment configuration class.
tests/ A set of Codeception tests for the application.
Console/ Console command tests.
Functional/ Functional tests.
Unit/ Unit tests.
Web/ Web actions 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 web application 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
[](https://opencollective.com/yiisoft)
## Follow updates
[](https://www.yiiframework.com/)
[](https://twitter.com/yiiframework)
[](https://t.me/yii3en)
[](https://www.facebook.com/groups/yiitalk)
[](https://yiiframework.com/go/slack)