wiki-tarkov

Это проект, который был посвящен игре Escape from Tarkov. На сайте были реализованы справочник лута, таблицы трейдов, списки ключей от дверей а также интерактивные карты с обозначениями мест - где можно найти лут. Разработка проекта ведется по сей день.

OTHER License

Stars
5
Committers
4

Wiki Tarkov Project

Wiki Tarkov - Escape From Tarkov. 10 2017., . 2022. . : https://wiki-tarkov.ru

Yii2,   -  Nginx.    MariaDb.   CI/CD    master  GitHub  Bitbucket ( ,      GitHub).     docker         .

  ,    (  ) -    AdFox.

 :
  • Escape From Tarkov.     ,        4-  .
    
  • API , .
  • , 900 2- .
    •    ,    .
      
    •    ,        .
      
    • , .
    • , . ( , ).
  • " " - .
    •  ,      ,  JS       .
      
    • Yii2 ,     .
      
  • ,  2  -   ,    JS  
    
  • API tarkov.dev, , .
  • API (, , )
  •  Api (   )
    

Yii2 basic reworked

Yii2 basic,       ,         .

: common ( Yii2 Advanced ),

common :

  • controllers - Yii'

  • services - ,

  • interfaces -

  • helpers - Yii'

  • models - Active Record

    common env.php , DotEnv , .

: config/web bootstrap.php, , .

 :

require __DIR__ . '/config/bootstrap.php';

yii.php :

$application = new yii\console\Application($config);
$exitCode = $application->run();
    ,         ,     Url    ,   .  

Url

, Url , , :

  • common/controllers/AdvancedController - Yii ( )

  • common/controllers/AdminController - Yii ( )

  • common/controllers/ControllerRoutesTrait -

    , , , , Url .

ControllerRoutesTrait 2 :

public static function getUrlRoute(string $action, array $params = []): array
public static function routeId(string $action): string

getUrlRoute , controllerId/ActionId, , ( ).

routeId - , , ( ).

.. , config/web.php , config routes.php , config/web/routes.php:

<?php  
/**   routes -        */  
  
use app\modules\admin\controllers\DefaultController;  
use app\modules\admin\controllers\ModeratorController;  
  
use app\controllers\SiteController;  
  
return [  
  'admin/login' => DefaultController::routeId(DefaultController::ACTION_LOGIN),  
  'admin/logout' => DefaultController::routeId(DefaultController::ACTION_LOGOUT),
  'clans' => ClanController::routeId(ClanController::ACTION_INDEX),
  'loot' => LootController::routeId(LootController::ACTION_MAINLOOT),  
  
  '' => SiteController::routeId(SiteController::ACTION_INDEX),  
];

, AdvancedController AdminController .

 ,          action,   :

public function actionTest()
:

const ACTION_TEST = 'test'

  ExampleController,     route    :

'testing-page' => ExampleController::routeId(ExampleController::ACTION_TEST)

 ,   - url         ,       (,   IDE).

  ,       ,     ,          .

      :

docker-compose exec -T app php yii migrate

Functional&Unit

 Unit    Codeception.   792 .        ,  ,   .

Unit . ( , , ). , , - Redis:

docker-compose exec -T redis redis-cli flushall  

docker-compose exec -T app php vendor/bin/codecept run

 :
  • API
  • API
  • ,

Snyk

.. , Bitbucket Github Snyk . .

Snyk 2 :

  • Licence - , compose
  • Security - composer.lock

, composer, , .. Snyk , Snyk.

docker-compose up

 ,    docker  docker-compose,       Docker Desktop.
  Git.

Docker: https://www.docker.com/products/docker-desktop/ Git: https://git-scm.com/download

     .

, :

git clone https://github.com/V-Power-Inc/wiki-tarkov.git

 .env       (   ):

# Environment
ENVIRONMENT=dev

# Boolean value of project status
DEBUG_STATUS=false

# Database
# ---------------------
DB_DSN=mysql:host=localhost;dbname=dev_db
DB_NAME=dev_db
DB_USER=usr_test
DB_PASSWORD=TestPass
DB_CHARSET=utf8

# Database - unit, functional, other tests
DB_TEST_DSN=mysql:host=localhost;dbname=for_test_db
DB_TEST_NAME=for_test_db
DB_TEST_USER=usr_test
DB_TEST_PASSWORD=TestPass
DB_TEST_CHARSET=utf8

# Redis Host
REDIS_HOST='localhost'

# Domain Credentials
DOMAIN_PROTOCOL=http://
DOMAIN=localhost

  ,   .      localhost,      Docker.

     (Docker      ):

docker-compose up -d --build
   ,             :
  • tarkov_app - yii php
  • tarkov_db - MariaDB
  • tarkov_redis - RedisCache
  • tarkov_web - - Nginx
       ,  **        localhost**.  localhost      ,     docker-compose.yml    80 ,               .
       ,  :
  • docker-compose exec -T app composer install --no-interaction

( )

  • docker exec -t tarkov_db mysql -u root -pTestPass --execute "use dev_db; CREATE DATABASE for_test_db; GRANT SUPER ON . TO 'usr_test'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON dev_db.* TO 'usr_test'@'%' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON for_test_db.* TO 'usr_test'@'%' WITH GRANT OPTION;"

  • docker-compose exec -T app php yii migrate --interactive=0

  • docker-compose exec -T app php yii migrate --db db_test --interactive=0

         ,  db      2   (  ).
    
     .
    
     (    CRUD ):
    
  • web/img/upload

  • web/img/admin

  • , , .github/workflows/Repo-Actions.yml - .

/admin - , admins, ( - sha1). .

     ,  ,  CI/CD,              .

 ,  ..  pet-project -      ,         .

Pull Requests

   ,       **dev**,      **contribute_  **,         .

  **dev** (     master) ,        .

API

Thank you to all of our awesome contributors!

Made with contrib.rocks.

Badges
Extracted from project README
GitHub Actions Deploy on Prod
Related Projects