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 today

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 47% of packages

Maintenance33

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

679d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/99670843?v=4)[Umarjon Alimdjanov](/maintainers/lux1177)[@Lux1177](https://github.com/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

[kimai/kimai

Kimai - Time Tracking

4.8k9.0k1](/packages/kimai-kimai)[2lenet/crudit-bundle

The easy like Crud'it Bundle.

1616.4k13](/packages/2lenet-crudit-bundle)[oro/platform

Business Application Platform (BAP)

645143.5k115](/packages/oro-platform)[sylius/sylius

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

8.5k5.9M734](/packages/sylius-sylius)[rcsofttech/audit-trail-bundle

Enterprise-grade, high-performance Symfony audit trail bundle. Automatically track Doctrine entity changes with split-phase architecture, multiple transports (HTTP, Queue, Doctrine), and sensitive data masking.

1189.8k](/packages/rcsofttech-audit-trail-bundle)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)

PHPackages © 2026

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