Skip to content
myIchtus API and FE app
PHP TypeScript HTML TSQL CSS JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
client
config
configuration
data
e2e
htdocs
logs
server
tests
.gitignore
.php_cs.dist
.scrutinizer.yml
.travis.yml
LICENSE.md
README.md
angular.json
apollo.config.js
browserslist
composer.json
composer.lock
graphql.config.json
ng-lint-staged.js
package.json
phpcs.xml.dist
phpunit.xml.dist
proxy.conf.json
tsconfig.json
tslint.json
yarn.lock

README.md

My Ichtus

Master: Build Status   Scrutinizer Code Quality   Code Coverage

Develop: Build Status   Scrutinizer Code Quality   Code Coverage

Introduction

My Ichtus is a web application based on GraphQL for the API and Angular for the client.

Installation

The recommended way to get a working copy is the following:

  1. Set up a nginx virtual host to point to htdocs/ directory and to include configuration/nginx.conf
  2. Create a database in MariaDB named "my-ichtus"
  3. Configure database in config/autoload/local.php (see example config/autoload/local.php.dist)
  4. Configure client in client/assets/config/config.local.json (see example client/assets/config/config.dist.json)
  5. Finally, build the app:
./bin/build.sh

Development

Server

To switch the API to development (to enable logging), run:

composer development-enable

Logs will be available in logs/all.log.

Configuration caching

When in development mode, the configuration cache is disabled, and switching in and out of development mode will remove the configuration cache.

You may need to clear the configuration cache in production when deploying if you deploy to the same directory. You may do so using the following:

$ composer clear-config-cache

Client

Run yarn dev for a dev server. Navigate to http://my-ichtus.lan:4200/. The app will automatically reload if you change any of the source files.

Testing

PHPUnit

PHPUnit tests require a reference database dump. When the dump is loaded it will destroy existing database. This must be done once before running tests. Then each test is ran within a transaction which is rolled back, so the database state is always predictable.

To run PHPunit test:

./bin/load-test-data.php
./vendor/bin/phpunit # as many times as necessary

Karma

Run ng test to execute the unit tests via Karma.

Protractor

Run ng e2e to execute the end-to-end tests via Protractor.

You can’t perform that action at this time.