├── .travis.yml ├── README.md ├── app ├── .editorconfig ├── .gitignore ├── README.md ├── angular.json ├── browserslist ├── e2e │ ├── protractor.conf.js │ ├── src │ │ ├── app.e2e-spec.ts │ │ └── app.po.ts │ └── tsconfig.json ├── karma.conf.js ├── package-lock.json ├── package.json ├── src │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.scss │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ ├── auth │ │ │ ├── auth-routing.module.ts │ │ │ ├── auth.module.ts │ │ │ ├── guards │ │ │ │ ├── auth.guard.spec.ts │ │ │ │ └── auth.guard.ts │ │ │ ├── interceptors │ │ │ │ ├── jwt.interceptor.spec.ts │ │ │ │ └── jwt.interceptor.ts │ │ │ ├── pages │ │ │ │ ├── login-page │ │ │ │ │ ├── login-page.component.html │ │ │ │ │ ├── login-page.component.scss │ │ │ │ │ ├── login-page.component.spec.ts │ │ │ │ │ └── login-page.component.ts │ │ │ │ └── profile-page │ │ │ │ │ ├── profile-page.component.html │ │ │ │ │ ├── profile-page.component.scss │ │ │ │ │ ├── profile-page.component.spec.ts │ │ │ │ │ └── profile-page.component.ts │ │ │ └── services │ │ │ │ ├── auth.service.spec.ts │ │ │ │ └── auth.service.ts │ │ ├── dashboard │ │ │ ├── dashboard-routing.module.ts │ │ │ ├── dashboard.module.ts │ │ │ └── pages │ │ │ │ └── dashboard-page │ │ │ │ ├── dashboard-page.component.html │ │ │ │ ├── dashboard-page.component.scss │ │ │ │ ├── dashboard-page.component.spec.ts │ │ │ │ └── dashboard-page.component.ts │ │ ├── material.module.ts │ │ ├── shared │ │ │ ├── models │ │ │ │ ├── deserializable.model.ts │ │ │ │ └── user.model.ts │ │ │ ├── services │ │ │ │ ├── alert.service.spec.ts │ │ │ │ └── alert.service.ts │ │ │ └── shared.module.ts │ │ └── user │ │ │ ├── components │ │ │ └── user-add │ │ │ │ ├── user-add.component.html │ │ │ │ ├── user-add.component.scss │ │ │ │ ├── user-add.component.spec.ts │ │ │ │ └── user-add.component.ts │ │ │ ├── datasource │ │ │ └── user-data-source.ts │ │ │ ├── pages │ │ │ └── user-list-page │ │ │ │ ├── user-list-page.component.html │ │ │ │ ├── user-list-page.component.scss │ │ │ │ ├── user-list-page.component.spec.ts │ │ │ │ └── user-list-page.component.ts │ │ │ ├── services │ │ │ ├── user.service.spec.ts │ │ │ └── user.service.ts │ │ │ ├── user-routing.module.ts │ │ │ └── user.module.ts │ ├── assets │ │ ├── .gitkeep │ │ └── logo.png │ ├── environments │ │ ├── environment.prod.ts │ │ └── environment.ts │ ├── favicon.ico │ ├── index.html │ ├── main.ts │ ├── polyfills.ts │ ├── styles.scss │ └── test.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── tslint.json ├── backend ├── .bowerrc ├── .gitignore ├── LICENSE.md ├── README.md ├── Vagrantfile ├── assets │ └── AppAsset.php ├── codeception.yml ├── commands │ └── UserController.php ├── composer.json ├── composer.lock ├── config │ ├── console.php │ ├── db.php │ ├── params.php │ ├── test.php │ ├── test_db.php │ └── web.php ├── controllers │ └── CorsCustom.php ├── docker-compose.yml ├── mail │ └── layouts │ │ └── html.php ├── migrations │ ├── m191021_165358_user.php │ └── m200316_065802_refresh_token.php ├── models │ ├── RefreshToken.php │ ├── User.php │ └── UserSearch.php ├── modules │ └── v1 │ │ ├── Module.php │ │ └── controllers │ │ ├── ApiController.php │ │ ├── AuthController.php │ │ ├── RestController.php │ │ └── UserController.php ├── requirements.php ├── runtime │ └── .gitignore ├── tests │ ├── _bootstrap.php │ ├── _data │ │ └── .gitkeep │ ├── _output │ │ └── .gitignore │ ├── _support │ │ ├── AcceptanceTester.php │ │ ├── FunctionalTester.php │ │ └── UnitTester.php │ ├── acceptance.suite.yml.example │ ├── acceptance │ │ ├── AboutCest.php │ │ ├── ContactCest.php │ │ ├── HomeCest.php │ │ ├── LoginCest.php │ │ └── _bootstrap.php │ ├── bin │ │ ├── yii │ │ └── yii.bat │ ├── functional.suite.yml │ ├── functional │ │ ├── ContactFormCest.php │ │ ├── LoginFormCest.php │ │ └── _bootstrap.php │ ├── unit.suite.yml │ └── unit │ │ ├── _bootstrap.php │ │ └── models │ │ ├── ContactFormTest.php │ │ ├── LoginFormTest.php │ │ └── UserTest.php ├── vagrant │ ├── config │ │ ├── .gitignore │ │ └── vagrant-local.example.yml │ ├── nginx │ │ ├── app.conf │ │ └── log │ │ │ └── .gitignore │ └── provision │ │ ├── always-as-root.sh │ │ ├── once-as-root.sh │ │ └── once-as-vagrant.sh ├── views │ └── layouts │ │ └── main.php ├── web │ ├── .htaccess │ ├── assets │ │ └── .gitignore │ ├── css │ │ └── site.css │ ├── favicon.ico │ ├── index-test.php │ ├── index.php │ └── robots.txt ├── widgets │ └── Alert.php ├── yii └── yii.bat └── screenshots ├── Create User.png ├── Dashboard.png ├── Login.png └── View Users.png /.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | dist: bionic 3 | os: 4 | - linux 5 | services: 6 | - docker 7 | - xvfb 8 | language: node_js 9 | node_js: 10 | - "12.16.1" 11 | addons: 12 | apt: 13 | packages: 14 | - dpkg 15 | chrome: stable 16 | cache: 17 | directories: 18 | - node_modules 19 | before_install: 20 | - npm install -g @angular/cli 21 | - cd app 22 | install: 23 | - npm ci 24 | script: 25 | - ng test --watch=false 26 | # - ng e2e 27 | notifications: 28 | webhooks: 29 | on_success: change 30 | on_failure: always 31 | on_start: never -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
From Databox with Love
17 |profile-page works!
2 | -------------------------------------------------------------------------------- /app/src/app/auth/pages/profile-page/profile-page.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/databoxtech/yii2-angular-template/cfd740cc0ab31d5f932a9a0dbcdc21658f7d8250/app/src/app/auth/pages/profile-page/profile-page.component.scss -------------------------------------------------------------------------------- /app/src/app/auth/pages/profile-page/profile-page.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { ProfilePageComponent } from './profile-page.component'; 4 | 5 | describe('ProfilePageComponent', () => { 6 | let component: ProfilePageComponent; 7 | let fixture: ComponentFixturedashboard-page works!
2 | -------------------------------------------------------------------------------- /app/src/app/dashboard/pages/dashboard-page/dashboard-page.component.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/databoxtech/yii2-angular-template/cfd740cc0ab31d5f932a9a0dbcdc21658f7d8250/app/src/app/dashboard/pages/dashboard-page/dashboard-page.component.scss -------------------------------------------------------------------------------- /app/src/app/dashboard/pages/dashboard-page/dashboard-page.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { async, ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { DashboardPageComponent } from './dashboard-page.component'; 4 | 5 | describe('DashboardPageComponent', () => { 6 | let component: DashboardPageComponent; 7 | let fixture: ComponentFixture