Giter Club home page Giter Club logo

Comments (13)

valanm22 avatar valanm22 commented on June 18, 2024 1

Shall I work on this?

from chess-api.

valanm22 avatar valanm22 commented on June 18, 2024 1

@programarivm when I perform composer install I get the following message. Am I going in the correct path?
Screenshot (20)

from chess-api.

valanm22 avatar valanm22 commented on June 18, 2024 1

Without the recipe I got this.
Screenshot (21)

from chess-api.

valanm22 avatar valanm22 commented on June 18, 2024 1

So can I open the project in VS Code? When I do a git status after composer install the config/bundles.php is modified. Should I be concerned?

from chess-api.

valanm22 avatar valanm22 commented on June 18, 2024 1

Mine looks the same as yours so, no problem right? And how do I test the methods?

from chess-api.

valanm22 avatar valanm22 commented on June 18, 2024 1

Thanks @programarivm

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

@valanm22 welcome to ChesslabLab.

Thank you for joining the community, please make sure to read the Contributing Guidelines.

Keep it up, and happy learning and coding!

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

What about doing composer install without executing the Flex recipe?

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

It looks okay, this is the project after the install.

chess-api

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

At this moment not too sure about the config/bundles.php, it was not modified after doing the following on my laptop.

  1. Clone the repo:
standard@laptop:~/projects$ git clone [email protected]:chesslablab/chess-api.git
Cloning into 'chess-api'...
Enter passphrase for key '/home/standard/.ssh/id_ed25519': 
remote: Enumerating objects: 382, done.
remote: Counting objects: 100% (382/382), done.
remote: Compressing objects: 100% (221/221), done.
remote: Total 382 (delta 159), reused 334 (delta 121), pack-reused 0
Receiving objects: 100% (382/382), 99.60 KiB | 935.00 KiB/s, done.
Resolving deltas: 100% (159/159), done.
  1. Install composer dependencies:
standard@laptop:~/projects$ cd chess-api/
standard@laptop:~/projects/chess-api$ composer install
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 94 installs, 0 updates, 0 removals
  - Locking amphp/amp (v2.6.1)
  - Locking amphp/byte-stream (v1.8.1)
  - Locking amphp/parallel (v1.4.1)
  - Locking amphp/parser (v1.0.0)
  - Locking amphp/process (v1.1.3)
  - Locking amphp/serialization (v1.0.0)
  - Locking amphp/sync (v1.4.2)
  - Locking chesslablab/php-chess (1.1.89)
  - Locking composer/package-versions-deprecated (1.11.99.4)
  - Locking doctrine/inflector (2.0.4)
  - Locking doctrine/instantiator (1.4.0)
  - Locking friendsofphp/proxy-manager-lts (v1.0.5)
  - Locking friendsofsymfony/rest-bundle (3.2.1)
  - Locking graham-campbell/result-type (v1.0.4)
  - Locking imagine/imagine (1.2.4)
  - Locking laminas/laminas-code (4.5.1)
  - Locking myclabs/deep-copy (1.10.2)
  - Locking nikic/php-parser (v4.13.2)
  - Locking phar-io/manifest (2.0.3)
  - Locking phar-io/version (3.1.0)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.3.0)
  - Locking phpdocumentor/type-resolver (1.6.0)
  - Locking phpoption/phpoption (1.8.1)
  - Locking phpspec/prophecy (v1.15.0)
  - Locking phpunit/php-code-coverage (9.2.10)
  - Locking phpunit/php-file-iterator (3.0.6)
  - Locking phpunit/php-invoker (3.1.1)
  - Locking phpunit/php-text-template (2.0.4)
  - Locking phpunit/php-timer (5.0.3)
  - Locking phpunit/phpunit (9.5.13)
  - Locking psr/cache (3.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/event-dispatcher (1.0.0)
  - Locking psr/log (1.1.4)
  - Locking rubix/ml (1.3.1)
  - Locking rubix/tensor (3.0.1)
  - Locking scienide/okbloomer (1.0.0)
  - Locking sebastian/cli-parser (1.0.1)
  - Locking sebastian/code-unit (1.0.8)
  - Locking sebastian/code-unit-reverse-lookup (2.0.3)
  - Locking sebastian/comparator (4.0.6)
  - Locking sebastian/complexity (2.0.2)
  - Locking sebastian/diff (4.0.4)
  - Locking sebastian/environment (5.1.3)
  - Locking sebastian/exporter (4.0.4)
  - Locking sebastian/global-state (5.0.3)
  - Locking sebastian/lines-of-code (1.0.3)
  - Locking sebastian/object-enumerator (4.0.4)
  - Locking sebastian/object-reflector (2.0.4)
  - Locking sebastian/recursion-context (4.0.4)
  - Locking sebastian/resource-operations (3.0.3)
  - Locking sebastian/type (2.3.4)
  - Locking sebastian/version (3.0.2)
  - Locking splitbrain/php-cli (1.1.8)
  - Locking symfony/cache (v6.0.3)
  - Locking symfony/cache-contracts (v3.0.0)
  - Locking symfony/config (v6.0.3)
  - Locking symfony/console (v6.0.3)
  - Locking symfony/dependency-injection (v6.0.3)
  - Locking symfony/deprecation-contracts (v3.0.0)
  - Locking symfony/dotenv (v6.0.3)
  - Locking symfony/error-handler (v6.0.3)
  - Locking symfony/event-dispatcher (v6.0.3)
  - Locking symfony/event-dispatcher-contracts (v3.0.0)
  - Locking symfony/filesystem (v6.0.3)
  - Locking symfony/finder (v6.0.3)
  - Locking symfony/flex (v2.1.4)
  - Locking symfony/framework-bundle (v6.0.3)
  - Locking symfony/http-foundation (v6.0.3)
  - Locking symfony/http-kernel (v6.0.3)
  - Locking symfony/maker-bundle (v1.36.4)
  - Locking symfony/password-hasher (v6.0.3)
  - Locking symfony/polyfill-intl-grapheme (v1.24.0)
  - Locking symfony/polyfill-intl-normalizer (v1.24.0)
  - Locking symfony/polyfill-mbstring (v1.24.0)
  - Locking symfony/polyfill-php81 (v1.24.0)
  - Locking symfony/proxy-manager-bridge (v6.0.3)
  - Locking symfony/routing (v6.0.3)
  - Locking symfony/runtime (v6.0.3)
  - Locking symfony/security-core (v6.0.3)
  - Locking symfony/service-contracts (v3.0.0)
  - Locking symfony/string (v6.0.3)
  - Locking symfony/var-dumper (v6.0.3)
  - Locking symfony/var-exporter (v6.0.3)
  - Locking symfony/yaml (v6.0.3)
  - Locking theseer/tokenizer (1.2.1)
  - Locking vlucas/phpdotenv (v5.4.1)
  - Locking voku/portable-ascii (1.5.6)
  - Locking voku/portable-utf8 (5.4.51)
  - Locking wamania/php-stemmer (v2.2.0)
  - Locking webmozart/assert (1.10.0)
  - Locking willdurand/jsonp-callback-validator (v1.1.0)
  - Locking willdurand/negotiation (3.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 94 installs, 0 updates, 0 removals
  - Downloading composer/package-versions-deprecated (1.11.99.4)
  - Downloading symfony/flex (v2.1.4)
  - Downloading symfony/runtime (v6.0.3)
  - Downloading willdurand/negotiation (3.0.0)
  - Downloading willdurand/jsonp-callback-validator (v1.1.0)
  - Downloading psr/container (2.0.2)
  - Downloading symfony/service-contracts (v3.0.0)
  - Downloading symfony/password-hasher (v6.0.3)
  - Downloading psr/event-dispatcher (1.0.0)
  - Downloading symfony/event-dispatcher-contracts (v3.0.0)
  - Downloading symfony/security-core (v6.0.3)
  - Downloading symfony/routing (v6.0.3)
  - Downloading symfony/http-foundation (v6.0.3)
  - Downloading symfony/event-dispatcher (v6.0.3)
  - Downloading symfony/var-dumper (v6.0.3)
  - Downloading symfony/error-handler (v6.0.3)
  - Downloading symfony/http-kernel (v6.0.3)
  - Downloading symfony/polyfill-php81 (v1.24.0)
  - Downloading symfony/finder (v6.0.3)
  - Downloading symfony/filesystem (v6.0.3)
  - Downloading symfony/dependency-injection (v6.0.3)
  - Downloading symfony/config (v6.0.3)
  - Downloading symfony/var-exporter (v6.0.3)
  - Downloading psr/cache (3.0.0)
  - Downloading symfony/cache-contracts (v3.0.0)
  - Downloading symfony/cache (v6.0.3)
  - Downloading symfony/framework-bundle (v6.0.3)
  - Downloading friendsofsymfony/rest-bundle (3.2.1)
  - Downloading laminas/laminas-code (4.5.1)
  - Downloading symfony/dotenv (v6.0.3)
  - Downloading symfony/string (v6.0.3)
  - Downloading symfony/console (v6.0.3)
  - Downloading doctrine/inflector (2.0.4)
  - Downloading symfony/maker-bundle (v1.36.4)
  - Downloading friendsofphp/proxy-manager-lts (v1.0.5)
  - Downloading symfony/proxy-manager-bridge (v6.0.3)
  - Downloading symfony/yaml (v6.0.3)
  - Installing composer/package-versions-deprecated (1.11.99.4): Extracting archive
  - Installing symfony/flex (v2.1.4): Extracting archive
  - Installing symfony/runtime (v6.0.3): Extracting archive
  - Installing amphp/parser (v1.0.0): Extracting archive
  - Installing amphp/amp (v2.6.1): Extracting archive
  - Installing amphp/byte-stream (v1.8.1): Extracting archive
  - Installing amphp/process (v1.1.3): Extracting archive
  - Installing amphp/serialization (v1.0.0): Extracting archive
  - Installing amphp/sync (v1.4.2): Extracting archive
  - Installing splitbrain/php-cli (1.1.8): Extracting archive
  - Installing voku/portable-ascii (1.5.6): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.24.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.24.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.24.0): Extracting archive
  - Installing voku/portable-utf8 (5.4.51): Extracting archive
  - Installing wamania/php-stemmer (v2.2.0): Extracting archive
  - Installing scienide/okbloomer (1.0.0): Extracting archive
  - Installing rubix/tensor (3.0.1): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing amphp/parallel (v1.4.1): Extracting archive
  - Installing rubix/ml (1.3.1): Extracting archive
  - Installing imagine/imagine (1.2.4): Extracting archive
  - Installing chesslablab/php-chess (1.1.89): Extracting archive
  - Installing willdurand/negotiation (3.0.0): Extracting archive
  - Installing willdurand/jsonp-callback-validator (v1.1.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.0.0): Extracting archive
  - Installing symfony/password-hasher (v6.0.3): Extracting archive
  - Installing psr/event-dispatcher (1.0.0): Extracting archive
  - Installing symfony/event-dispatcher-contracts (v3.0.0): Extracting archive
  - Installing symfony/security-core (v6.0.3): Extracting archive
  - Installing symfony/routing (v6.0.3): Extracting archive
  - Installing symfony/deprecation-contracts (v3.0.0): Extracting archive
  - Installing symfony/http-foundation (v6.0.3): Extracting archive
  - Installing symfony/event-dispatcher (v6.0.3): Extracting archive
  - Installing symfony/var-dumper (v6.0.3): Extracting archive
  - Installing symfony/error-handler (v6.0.3): Extracting archive
  - Installing symfony/http-kernel (v6.0.3): Extracting archive
  - Installing symfony/polyfill-php81 (v1.24.0): Extracting archive
  - Installing symfony/finder (v6.0.3): Extracting archive
  - Installing symfony/filesystem (v6.0.3): Extracting archive
  - Installing symfony/dependency-injection (v6.0.3): Extracting archive
  - Installing symfony/config (v6.0.3): Extracting archive
  - Installing symfony/var-exporter (v6.0.3): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing symfony/cache-contracts (v3.0.0): Extracting archive
  - Installing symfony/cache (v6.0.3): Extracting archive
  - Installing symfony/framework-bundle (v6.0.3): Extracting archive
  - Installing friendsofsymfony/rest-bundle (3.2.1): Extracting archive
  - Installing laminas/laminas-code (4.5.1): Extracting archive
  - Installing webmozart/assert (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.6.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing sebastian/version (3.0.2): Extracting archive
  - Installing sebastian/type (2.3.4): Extracting archive
  - Installing sebastian/resource-operations (3.0.3): Extracting archive
  - Installing sebastian/recursion-context (4.0.4): Extracting archive
  - Installing sebastian/object-reflector (2.0.4): Extracting archive
  - Installing sebastian/object-enumerator (4.0.4): Extracting archive
  - Installing sebastian/global-state (5.0.3): Extracting archive
  - Installing sebastian/exporter (4.0.4): Extracting archive
  - Installing sebastian/environment (5.1.3): Extracting archive
  - Installing sebastian/diff (4.0.4): Extracting archive
  - Installing sebastian/comparator (4.0.6): Extracting archive
  - Installing sebastian/code-unit (1.0.8): Extracting archive
  - Installing sebastian/cli-parser (1.0.1): Extracting archive
  - Installing phpunit/php-timer (5.0.3): Extracting archive
  - Installing phpunit/php-text-template (2.0.4): Extracting archive
  - Installing phpunit/php-invoker (3.1.1): Extracting archive
  - Installing phpunit/php-file-iterator (3.0.6): Extracting archive
  - Installing theseer/tokenizer (1.2.1): Extracting archive
  - Installing nikic/php-parser (v4.13.2): Extracting archive
  - Installing sebastian/lines-of-code (1.0.3): Extracting archive
  - Installing sebastian/complexity (2.0.2): Extracting archive
  - Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
  - Installing phpunit/php-code-coverage (9.2.10): Extracting archive
  - Installing doctrine/instantiator (1.4.0): Extracting archive
  - Installing phpspec/prophecy (v1.15.0): Extracting archive
  - Installing phar-io/version (3.1.0): Extracting archive
  - Installing phar-io/manifest (2.0.3): Extracting archive
  - Installing myclabs/deep-copy (1.10.2): Extracting archive
  - Installing phpunit/phpunit (9.5.13): Extracting archive
  - Installing symfony/dotenv (v6.0.3): Extracting archive
  - Installing symfony/string (v6.0.3): Extracting archive
  - Installing symfony/console (v6.0.3): Extracting archive
  - Installing doctrine/inflector (2.0.4): Extracting archive
  - Installing symfony/maker-bundle (v1.36.4): Extracting archive
  - Installing friendsofphp/proxy-manager-lts (v1.0.5): Extracting archive
  - Installing symfony/proxy-manager-bridge (v6.0.3): Extracting archive
  - Installing symfony/yaml (v6.0.3): Extracting archive
  - Installing phpoption/phpoption (1.8.1): Extracting archive
  - Installing graham-campbell/result-type (v1.0.4): Extracting archive
  - Installing vlucas/phpdotenv (v5.4.1): Extracting archive
Generating optimized autoload files
Class ChessApi\Tests\Integration\DatabaseTest located in ./tests/integration/DatabaseTest.php does not comply with psr-4 autoloading standard. Skipping.
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
73 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Symfony operations: 7 recipes (6e9d1a77a2ff81e82f54350a259e27e4)
  - Configuring symfony/flex (>=1.0): From github.com/symfony/recipes:master
  - Configuring symfony/framework-bundle (>=5.4): From github.com/symfony/recipes:master
  - Configuring symfony/routing (>=6.0): From github.com/symfony/recipes:master
  -  WARNING  friendsofsymfony/rest-bundle (>=2.2): From github.com/symfony/recipes-contrib:master
    The recipe for this package comes from the "contrib" repository, which is open to community contributions.
    Review the recipe at https://github.com/symfony/recipes-contrib/tree/master/friendsofsymfony/rest-bundle/2.2

    Do you want to execute this recipe?
    [y] Yes
    [n] No
    [a] Yes for all packages, only for the current installation session
    [p] Yes permanently, never ask again for this project
    (defaults to n):  
  - Configuring phpunit/phpunit (>=9.3): From github.com/symfony/recipes:master
  - Configuring symfony/console (>=5.3): From github.com/symfony/recipes:master
  - Configuring symfony/maker-bundle (>=1.0): From github.com/symfony/recipes:master
Executing script cache:clear [OK]
Executing script assets:install public [OK]
              
 What's next? 
              

Some files have been created and/or updated to configure your new packages.
Please review, edit and commit them: these files are yours.

 symfony/framework-bundle  instructions:

  * Run your application:
    1. Go to the project directory
    2. Create your code repository with the git init command
    3. Download the Symfony CLI at https://symfony.com/download to install a development web server

  * Read the documentation at https://symfony.com/doc

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

This is the config/bundles.php file:

<?php

return [
    Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
    Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
];

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

That's a good question! Let me open a new issue to write some documentation on how to test the REST API methods.

Probably it is a good idea to set up Nginx on your computer in a similar way as in docker/nginx/conf.d/default.conf. Alternatively, if you're using Docker the chess_api_php_fpm and chess_api_nginx containers defined in docker-compose.yml should be started as described next:

$ docker network create chess-data_default
a5a52900974fe8904e19082f44c6f2cc82ae1487427ceefd47779eb0339e8214
standard@laptop:~/projects/chess-api$ docker-compose up --build
Building php_fpm
Sending build context to Docker daemon  93.66MB
Step 1/4 : FROM php:8.0-fpm
8.0-fpm: Pulling from library/php
5eb5b503b376: Pull complete 
8b1ad84cf101: Pull complete 
38c937dadeb7: Pull complete 
6a2f1dc96e59: Pull complete 
cfba4e10e5d6: Pull complete 
55c4c6f240cc: Pull complete 
0cce7a2c8179: Pull complete 
27fe35a0cb4b: Pull complete 
48c02bd9a8a5: Pull complete 
9a26d1e701c4: Pull complete 
Digest: sha256:c12db38ea1e1f45cf80249bb38fdf0fb1dea96e9bc9f16f5c6d053a78887082c
Status: Downloaded newer image for php:8.0-fpm
 ---> 1f353342ac01
Step 2/4 : RUN apt-get update && apt-get install -y     git     libzip-dev     unzip     zip
...

The chesslablab/chess-data project must be up and running along with the chesslablab/chess-api project but if I'm not very much mistaken, the database may not be required in this particular case to implement the POST /api/download_image endpoint.

Anyway, a certificate needs to be installed — otherwise nginx will exit with code 1.

...
chess_api_nginx exited with code 1
chess_api_nginx | /docker-entrypoint.sh: Configuration complete; ready for start up
chess_api_nginx | 2022/01/28 17:28:55 [emerg] 1#1: cannot load certificate "/etc/nginx/ssl/certificate.crt": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
chess_api_nginx | nginx: [emerg] cannot load certificate "/etc/nginx/ssl/certificate.crt": PEM_read_bio_X509_AUX() failed (SSL: error:0909006C:PEM routines:get_name:no start line:Expecting: TRUSTED CERTIFICATE)
chess_api_nginx exited with code 1

If using Docker please make sure to copy the certificate files into the docker/nginx/ssl folder.

For further information:

Keep it up, happy learning and coding.

from chess-api.

programarivm avatar programarivm commented on June 18, 2024

Updated the README which now explains how to test the API.

from chess-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.