PHPackages                             lux1177/api-starter-kit - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. lux1177/api-starter-kit

AbandonedProject[API Development](/categories/api)

lux1177/api-starter-kit
=======================

1.0.0(1y ago)17GPL-3.0-or-laterPHPPHP &gt;=8.2

Since Aug 22Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Lux1177/api-starter-kit)[ Packagist](https://packagist.org/packages/lux1177/api-starter-kit)[ RSS](/packages/lux1177-api-starter-kit/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (25)Versions (2)Used By (0)

Api Starter Kit
===============

[](#api-starter-kit)

Starter kit for API with [Symfony](https://symfony.com/), [Doctrine](https://www.doctrine-project.org/), [Maker Bundle](https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html), [Migrations Bundle](https://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html), [VichUploader-bundle](https://github.com/dustin10/VichUploaderBundle), [Api-Platform](https://api-platform.com/) and [JWT-auth](https://jwt.io/).

Kit has also already created User and MediaObject entities with all crud routes

Kit has 3 docker containers: **php, nginx** and **mysql**

[![poster](poster.png)](poster.png)

Installation
------------

[](#installation)

Download the project
`composer create-project lux1177/api-starter-kit --ignore-platform-reqs --no-scripts project-name`

Go to the project directory
`cd project-name`

Run docker containers
`docker compose up -d`

Install composer scripts:
`docker compose exec php composer install`

To install project run command:
`docker compose exec php bin/console ask:install`

**Done! You can open [](http://localhost:8507/api) via browser. By the way, you can change this port by changing `DOCKER_NGINX_PORT` variable in [.env](.env) file.**

Docker
------

[](#docker)

For enter to php container run `docker compose exec php bash`

For enter to mysql container run `docker compose exec mysql bash`

For enter to nginx container run `docker compose exec nginx bash`

You can change containers prefix by changing `DOCKER_PROJECT_NAME` variable in [.env](.env) file.

Also, you can change public ports of nginx and mysql by changing `DOCKER_NGINX_PORT` and `DOCKER_DATABASE_PORT`

Database allows connections only from localhost. Because of this when you use the project on production and want to connect to database from your computer you should connect via ssh bridge.

Cron
----

[](#cron)

You can use [docker/php/cron-file](docker/php/cron-file) for cron jobs. After you must re-build php container by running command:
`docker compose up -d --build`

Swagger
-------

[](#swagger)

You can change project name and description on swagger by editing file [config/packages/api\_platform.yaml](config/packages/api_platform.yaml)

Git Hook
--------

[](#git-hook)

If you don't use any deploying system you can do
`cp docker/other-files/git/hooks/post-merge .git/hooks`

In this way git always executes command `bin/console ask:deploy`. You can change this command in the file [src/Command/AskDeployCommand.php](src/Command/AskDeployCommand.php). This command will install requirements via composer, clear caches, change owner of ./var and ./public/media folders to www-data, will run migrations.

JWT keys
--------

[](#jwt-keys)

For use Json Web Token system you must create private and public keys. They are have already created when you install project. You can re-create them with:

`bin/console ask:generate:jwtKeys`

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

633d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fd38e5b69d066b772085879d5b84e8583fc16b6c2e79fea4585748ad38e23096?d=identicon)[lux1177](/maintainers/lux1177)

---

Top Contributors

[![Lux1177](https://avatars.githubusercontent.com/u/99670843?v=4)](https://github.com/Lux1177 "Lux1177 (6 commits)")

### Embed Badge

![Health badge](/badges/lux1177-api-starter-kit/health.svg)

```
[![Health](https://phpackages.com/badges/lux1177-api-starter-kit/health.svg)](https://phpackages.com/packages/lux1177-api-starter-kit)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[kadirov/api-starter-kit

443.9k](/packages/kadirov-api-starter-kit)[easycorp/easyadmin-demo

EasyAdmin Demo Application

145.7k](/packages/easycorp-easyadmin-demo)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
