- PHP >= 7.1.0
- Database MySQL
- Composer
- Webserver Nngix/Apache
OR
- Docker
Follow the below procedures for installing Application
$ git clone git@github.com:erisitohang/fm-api.git fm-api
$ cd fm-api
$ docker-compose up --build -d
Go in to php server
$ docker exec -it fm-api_php_1 bash
install composer
$ composer install
$ cp .env.example .env
After this file copy, update the attributes in .env to match your environment, database
$ php artisan migrate
$ php artisan db:seed
$ ./vendor/bin/phpunit
+------+------------------+-----------------+-------------------------------------------------+---------+------------+
| Verb | Path | NamedRoute | Controller | Action | Middleware |
+------+------------------+-----------------+-------------------------------------------------+---------+------------+
| GET | / | | None | Closure | |
| POST | /user | user | App\Http\Controllers\Api\UserController | store | |
| POST | /friend | friend | App\Http\Controllers\Api\RelationshipController | store | |
| POST | /friend/mine | friend.mine | App\Http\Controllers\Api\RelationshipController | mine | |
| POST | /friend/common | friend.common | App\Http\Controllers\Api\RelationshipController | common | |
| POST | /subscribe | subscribe.store | App\Http\Controllers\Api\SubscriberController | store | |
| POST | /subscribe/block | subscribe.block | App\Http\Controllers\Api\SubscriberController | block | |
| POST | /feed | feed.index | App\Http\Controllers\Api\FeedController | index | |
+------+------------------+-----------------+-------------------------------------------------+---------+------------+
POST /user
{
"email": "test1@test.com",
"name": "John Doe"
}
{
"email": "test1@test.com",
"name": "John Doe",
"id": 1
}
POST /friend
{
"friends":
[
"test1@test.com",
"test2@test.com"
]
}
{
"success": true
}
POST /friend/mine
{
"email": "test1@test.com"
}
{
"success": true,
"friends" :
[
"test2@test.com"
],
"count" : 1
}
POST /friend/common
{
"friends":
[
"test1@test.com",
"test2@test.com"
]
}
{
"success": true,
"friends" :
[
"test3@test.com",
"test4@test.com"
],
"count" : 2
}
POST /subscribe
{
"requestor": "test1@test.com",
"target": "test2@test.com"
}
{
"success": true
}
POST /subscribe/block
{
"requestor": "test1@test.com",
"target": "test2@test.com"
}
{
"success": true
}
POST /feed
{
"sender": "test1@test.com",
"text": "Hello test2@test.com"
}
{
"success": true,
"recipients":
[
"test2@test.com",
"test3@test.com"
]
}