{"id":37015759,"url":"https://github.com/presentator/presentator-api","last_synced_at":"2026-01-14T01:36:16.500Z","repository":{"id":57044428,"uuid":"199835950","full_name":"presentator/presentator-api","owner":"presentator","description":"Presentator v2 REST API","archived":true,"fork":false,"pushed_at":"2024-01-28T13:24:12.000Z","size":1269,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-27T16:22:53.973Z","etag":null,"topics":["presentator","rest-api","yii2"],"latest_commit_sha":null,"homepage":"https://presentator.io","language":"PHP","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/presentator.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-31T10:40:48.000Z","updated_at":"2024-04-09T10:23:51.000Z","dependencies_parsed_at":"2024-11-16T20:35:15.077Z","dependency_job_id":null,"html_url":"https://github.com/presentator/presentator-api","commit_stats":{"total_commits":141,"total_committers":1,"mean_commits":141.0,"dds":0.0,"last_synced_commit":"2b28c5fe33717b7d09691546be618ff01d0ab149"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/presentator/presentator-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presentator%2Fpresentator-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presentator%2Fpresentator-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presentator%2Fpresentator-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presentator%2Fpresentator-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/presentator","download_url":"https://codeload.github.com/presentator/presentator-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presentator%2Fpresentator-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T00:40:43.272Z","status":"ssl_error","status_checked_at":"2026-01-14T00:40:42.636Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["presentator","rest-api","yii2"],"created_at":"2026-01-14T01:36:15.980Z","updated_at":"2026-01-14T01:36:16.484Z","avatar_url":"https://github.com/presentator.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"Presentator v2 REST API [![Yii2](https://img.shields.io/badge/Powered_by-Yii_Framework-green.svg?style=flat)](http://www.yiiframework.com/)\n======================================================================\n\n\u003e [!IMPORTANT]\n\u003e This repo is for the older Presentator v2 and it is no longer maintained.\n\nPresentator v2 REST API server implementation, written in PHP and based on [Yii2](https://www.yiiframework.com/).\n\n**Detailed API reference could be found here - [https://presentator.io/docs](https://presentator.io/docs).**\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Development](#development)\n\n\u003e **This repository is READ-ONLY.**\n\u003e **Report issues and send pull requests in the [main Presentator repository](https://github.com/presentator/presentator/issues).**\n\n\n## Requirements\n\n- Apache/Nginx HTTP server\n\n- SQL database (MySQL/MariadDB/PostgreSQL)\n\n    \u003e For MySQL up to 5.6 and MariaDB up to 10.1 you may need to set `innodb_large_prefix=1` and `innodb_default_row_format=dynamic` to prevent migration errors (see [#104](https://github.com/presentator/presentator/issues/104)).\n\n- PHP 7.1+ with the following extensions:\n\n    ```\n    Reflection\n    PCRE\n    SPL\n    MBString\n    OpenSSL\n    Intl\n    ICU version\n    Fileinfo\n    DOM extensions\n    GD or Imagick\n    ```\n\n    For more detailed check, run `php requirements.php` from the application root directory.\n\n    In addition, here are some recommended `php.ini` configuration settings:\n    ```\n    post_max_size       = 64M\n    upload_max_filesize = 64M\n    max_execution_time  = 60\n    memory_limit        = 256M\n    ```\n\n\n## Installation\n\nBefore getting started make sure that you have checked the project requirements and installed [Composer](https://getcomposer.org/).\n\n1. Clone or download the repo.\n\n    \u003e **For security reasons, if you are using a shared hosting service it is recommended to place the project files outside from your default public_html(www) directory!**\n\n2. Setup a vhost/server address (eg. `http://api.presentator.local/`) and point it to `web/`.\n\n    \u003e By default a generic `.htaccess` file will be created for you after initialization. If you are using nginx, you could check the following [sample configuration](https://github.com/presentator/presentator/issues/120#issuecomment-539844456).\n\n3. Run the following commands:\n\n    ```bash\n    # navigate to the project root dir\n    cd /path/to/project\n\n    # install vendor dependencies\n    composer install\n\n    # execute the init command and select the appropriate environment:\n    # dev     - for development\n    # prod    - for production\n    # starter - this is used only for the the starter project setup (https://github.com/presentator/presentator-starter)\n    php init\n    ```\n\n4. Create a new database (with `utf8mb4_unicode_ci` collation) and adjust the db, mailer and other component configurations in `config/base-local.php` accordingly.\n\n    \u003e **All available app components with their default values could be found in `config/base.php`.**\n\n5. Adjust the application parameters in `config/params-local.php.`.\n\n    \u003e **All available app parameters with their default values could be found in `config/params.php`.**\n\n6. Apply DB migrations.\n\n    ```bash\n    php /path/to/project/yii migrate\n    ```\n\n7. (optional) Setup a cron task to process unread screen comments:\n\n    ```bash\n    # Every 30 minutes processes all unread screen comments and sends an email to the related users.\n    */30 * * * * php /path/to/project/yii mails/process-comments\n    ```\n\n**That's it!** You should be able to make HTTP requests to the previously defined server address.\n\nAdditional console commands you may find useful:\n\n```bash\n# set Super User access rights to a single User model\nphp /path/to/project/yii users/super test@example.com\n\n# set Regular User access rights to a single User model\nphp /path/to/project/yii users/regular test@example.com\n\n# regenerates all screen thumbs\nphp /path/to/project/yii screens/generate-thumbs\n```\n\n\n## Development\n\n#### Running tests\n\nPresentator uses [Codeception](https://codeception.com/) as its primary test framework.\n\nRunning tests require an additional database, which will be cleaned up between tests.\nCreate a new database and edit the db component settings in `config/test-local.php` and then run the following console commands:\n\n```bash\n# apply db migrations for the test database\nphp path/to/project/yii_test migrate\n\n# build the test suites\n/path/to/project/vendor/bin/codecept build\n\n# start all application tests\n/path/to/project/vendor/bin/codecept run\n```\n\n\u003e Currently only functional tests are available.\n\n#### Conventions\n\nThe project makes use of the following conventions:\n\n- *(PHP)* Each class must follow the accepted [PSR standards](https://www.php-fig.org/psr/#accepted).\n- *(PHP)* Each class method should have comment block tags based on [PHPDoc](https://docs.phpdoc.org/references/phpdoc/index.html) (method description is optional).\n- *(DB)* Use InnoDB table engine.\n- *(DB)* Use `utf8mb4_unicode_ci` or `utf8_unicode_ci` collation.\n- *(DB)* Table names must match with the corresponding AR model class name (eg. `UserProjectRel`).\n- *(DB)* Table columns must be in camelCase format (eg. `passwordResetToken`)\n- *(DB)* Each database change must be applied via Yii migrations.\n- *(DB)* Whenever is possible add named foreign keys and indexes in the following format `fk_{FROM_TABLE}_to_{TO_TABLE}` and `idx_{TABLE}_{COLUMN(S)}` (eg. `fk_ProjectLink_to_Project`, `idx_ProjectLink_slug`)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresentator%2Fpresentator-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpresentator%2Fpresentator-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresentator%2Fpresentator-api/lists"}