PHPackages                             emmanuel-ba/aramis - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. emmanuel-ba/aramis

ActiveProject[Utility &amp; Helpers](/categories/utility)

emmanuel-ba/aramis
==================

013PHP

Since Aug 14Pushed 9y agoCompare

[ Source](https://github.com/emmanuelBa/aramis)[ Packagist](https://packagist.org/packages/emmanuel-ba/aramis)[ RSS](/packages/emmanuel-ba-aramis/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Welcome to Aramis Rest API
==========================

[](#welcome-to-aramis-rest-api)

---

What's inside ?
---------------

[](#whats-inside-)

> A REST API developed using Symfony 3.1 , FosRestBundle and JMSSerializerBundle. The purpose is to handle a basic list of cars.

---

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

[](#installation)

*Make sure MySQL and PHP &gt;=5.5.9 are installed.*

1. Choose your favorite way to [get composer](https://getcomposer.org/download/).
2. Install project :

`php composer.phar create-project emmanuel-ba/aramis aramis -sdev`

*database credentials should be asked during installation*

3. Create database:

> cd aramis

> php bin/console doctrine:database:create

> php bin/console doctrine:schema:update --force

*you can alternatively use the mysql dump file provided (aramis.sql).*

4. Load fixtures :

`php bin/console doctrine:fixtures:load`

5. Launch tests with phpunit:

`phpunit`

6. Start PHP's built-in web server using Symfony Command :

`php bin/console server:run`

*Api should be available at http:localhost:8000*

---

Test API
========

[](#test-api)

Quick tests using Postman
-------------------------

[](#quick-tests-using-postman)

*You need to have postman installed. Have a look at the [Chrome extension](https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop)*

1. Load the provided environment and collection in postman :

- environment : Aramis.postman\_collection.json
- collection : TEST.postman\_environment.json

**Run the tests on the collection**

> There should be 22 tests passed

Manual tests using curl
-----------------------

[](#manual-tests-using-curl)

- GET cars (response code 200 expected)

>

curl -X GET -H "Cache-Control: no-cache" ""

---

- GET car (response code 200 expected)

>

curl -X GET -H "Cache-Control: no-cache" ""

---

- POST car (response code 201 expected)

> curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "maker" : "Seat", "model" : "Leon", "price" : 15000, "option" : \[{"name" : "Spoiler"}, {"name" : "GPS"}\], "equipment" : \[{"name" : "ABS"}, {"name" : "Turbo"}\] } }' ""

---

- INVALID POST car (response code 400 expected)

>

curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "model" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "price" : 15000, "option" : \[{"name" : "Spoiler"}, {"name" : "GPS"}\], "equipment" : \[{"name" : "ABS"}, {"name" : "Turbo"}\] } }' ""

---

- PUT car (response code 204 expected)

>

curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "maker" : "Audi", "model" : "Q7", "price" : 75000, "option" : \[{"name" : "Camera recul"}, {"name" : "Pack cuir"}\], "equipment" : \[{"name" : "Boite auto"}, {"name" : "Climatisation"}\] } }' ""

---

- INVALID put car (response code 400 expected)

>

curl -X PUT -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "maker" : "Audi", "model" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "price" : 75000, "option" : \[{"name" : "Camera recul"}, {"name" : "Pack cuir"}\], "equipment" : \[{"name" : "Boite auto"}, {"name" : "Climatisation"}\] } }' ""

---

- PATCH car (response code 204 expected)

>

curl -X PATCH -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "model" : "Q5" } }' ""

---

INVALID PATCH : (response code 400 expected)

>

curl -X PATCH -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{"car" : { "model" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx" } }' ""

---

DELETE a car : (response code 204 expected)

>

curl -X DELETE -H "Cache-Control: no-cache" ""

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 88.9% 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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20992681?v=4)[emmanuelBa](/maintainers/emmanuelBa)[@emmanuelBa](https://github.com/emmanuelBa)

---

Top Contributors

[![emmanuelBa](https://avatars.githubusercontent.com/u/20992681?v=4)](https://github.com/emmanuelBa "emmanuelBa (8 commits)")[![emmanuelSooyoos](https://avatars.githubusercontent.com/u/10220535?v=4)](https://github.com/emmanuelSooyoos "emmanuelSooyoos (1 commits)")

### Embed Badge

![Health badge](/badges/emmanuel-ba-aramis/health.svg)

```
[![Health](https://phpackages.com/badges/emmanuel-ba-aramis/health.svg)](https://phpackages.com/packages/emmanuel-ba-aramis)
```

PHPackages © 2026

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