PHPackages                             caicedo1089/web-rest-api - 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. caicedo1089/web-rest-api

ActiveLibrary[API Development](/categories/api)

caicedo1089/web-rest-api
========================

Web API Rest es un micro framework que muestra la creación y uso de un API Rest.

1.0.0(8y ago)18MITJavaScript

Since Mar 7Pushed 8y ago1 watchersCompare

[ Source](https://github.com/caicedo1089/web-rest-api)[ Packagist](https://packagist.org/packages/caicedo1089/web-rest-api)[ RSS](/packages/caicedo1089-web-rest-api/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (3)Versions (2)Used By (0)

Web API Rest - PHP
==================

[](#web-api-rest---php)

Web API Rest es un micro framework que muestra la creación y uso de un API Rest. Además tiene un pequeño Auth que permite la autenticación de usuarios. Está basado en Eloquent para el manejo de los modelos, [PHP Router](https://github.com/emilio/php-router) para el manejo de las rutas y [PHP Dotenv](https://github.com/vlucas/phpdotenv) para manejar las configuraciones.

La estructura de carpeta es muy simple, cómo se muestra a continuación:

- app/ Almacena la API y la Web, y una carpeta core donde se almacena las clases bases de los modelos y controladores de la API.
- config/ Almacena todas las configuraciones principales.
- public/ Almacena todos los archivos assets que serán publicos, en este caso está el Fornt End, realizado en [ExtJS 4.2.1](http://docs.sencha.com/extjs/4.2.1/#!/api).

Demostración
------------

[](#demostración)

[![Demostración](https://github.com/caicedo1089/web-rest-api/raw/master/public/img/CRUD.gif)](https://github.com/caicedo1089/web-rest-api/blob/master/public/img/CRUD.gif)

Instalación
-----------

[](#instalación)

- Clone el proyecto.
- Ubiquese dentro de la carpeta y ejecute el siguiente comando [composer](https://getcomposer.org/):

```
composer install

```

- En el proyecto está el archivo users.sql, importelo en su BD, probado solamente en BD [MySQL](https://www.mysql.com/).
- En el archivo .env agrege los datos de conexión de su BD.
- Para terminar levantaremos un servidor http para probar el proyecto, para esto ejecute el comando:

```
php -S localhost:8000

```

Al abrir en el navegador(browser) nuestra web en localhost:8000 podemos acceder al proyecto. En el /api podemos acceder a la API y en /web podemos acceder a la web.

API Access Points
-----------------

[](#api-access-points)

Este proyecto sólo tiene estos dos end points:

\###AUTH:

Manejo de la autenticación.

- POST /api/auth/login

```
//JSON Request
{
    "login": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 29,
        "full_name": "Pedro Caicedo",
        "username": "pcaicedo",
        "email": "info@pcaicedo.com",
        "remember_token": null,
        "created_at": "-0001-11-30 00:00:00",
        "updated_at": "-0001-11-30 00:00:00",
        "deleted_at": null
    }
}

```

- POST /api/auth/register

```
//JSON Request
{
    "full_name": "Pedro Caicedo",
    "username": "caicedo1089",
    "email": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}

```

- GET /api/auth/logout

```
//JSON Request - No aplica

//JSON Response - 200
{
    "data": {
        "id": 29
    }
}

```

\###USERS:

CRUD de los usuarios del sistema.

- GET /api/users/

```
//JSON Request

?filter=

//JSON Response - 200
{
    "data": [
        {
            "id": 28,
            "full_name": "José Caicedo",
            "username": "caicer",
            "email": "caicer",
            "remember_token": null,
            "created_at": "2018-03-05 06:01:48",
            "updated_at": "-0001-11-30 00:00:00",
            "deleted_at": null
        }
    ]
}

```

- POST /api/users/

```
//JSON Request
{
    "full_name": "Pedro Caicedo",
    "username": "caicedo1089",
    "email": "correo@dominio.com",
    "password": "123456"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}

```

- PUT /api/users/&lt;id\_user&gt; Todos los parametros de la solicitud (request) son opcionales, ea decir si sólo queremos actualizar el nombre sólo enviamos el parametro full\_name en el JSON.

```
//JSON Request
{
    "full_name": "Otro Nombre",
    "username": "caicedo1089_CO",
    "email": "correo@dominio.com.co",
    "password": "1234567"
}

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}

```

- DELETE /api/users/&lt;id\_user&gt;

```
//JSON Request - No aplica

//JSON Response - 200
{
    "data": {
        "id": 31
    }
}

```

Créditos
--------

[](#créditos)

- [Pedro Caicedo](http://pcaicedo.com)

Licencia
--------

[](#licencia)

- [MIT](https://opensource.org/licenses/MIT) (BackEnd)
- [GPL v3](https://opensource.org/licenses/GPL-3.0) (FrontEnd)

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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

2987d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0611fb10f9c61a637e531df0e7cb0b7fd9d0b7895f6b36acc6fca8164c06cefe?d=identicon)[caicedo1089](/maintainers/caicedo1089)

---

Top Contributors

[![PedroCaicedoDev](https://avatars.githubusercontent.com/u/43828871?v=4)](https://github.com/PedroCaicedoDev "PedroCaicedoDev (8 commits)")

---

Tags

apicomposer-projectphp-frameworkrestrest-apirestful-api

### Embed Badge

![Health badge](/badges/caicedo1089-web-rest-api/health.svg)

```
[![Health](https://phpackages.com/badges/caicedo1089-web-rest-api/health.svg)](https://phpackages.com/packages/caicedo1089-web-rest-api)
```

###  Alternatives

[showdoc/showdoc

ShowDoc is a tool greatly applicable for an IT team to share documents online

12.8k7.0k](/packages/showdoc-showdoc)[essa/api-tool-kit

set of tools to build an api with laravel

52680.5k](/packages/essa-api-tool-kit)[wrav/oembed

A simple plugin to extract media information from websites, like youtube videos, twitter statuses or blog articles.

36205.0k3](/packages/wrav-oembed)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[ivanwilliammd/satusehat-integration

Build SATUSEHAT FHIR Object in Easy Way

754.0k](/packages/ivanwilliammd-satusehat-integration)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

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