Run the next commands in order to start the services:
cp .env.sample .env
docker-compose up -d
Now, api-service
will be running on your local port 3000
and stock-service
will be running on your local port 3001
.
POST /auth/register
Body parameters
{
"email": "[email protected]",
"password": "mySecurePassword",
"role": "admin" | "user"
}
Response example
{
"email": "[email protected]",
"role": "admin" | "user"
}
POST /auth/login
Body parameters
{
"email": "[email protected]",
"password": "mySecurePassword"
}
Response example
{
"token": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImIxOWM1MDMyLWIzN2QtNDU5ZC1iZTY5LTIzNWFlNTNmMjAzZCIsInJvbGVzIjpbImFkbWluIl0sImlhdCI6MTY3Mzg4MDc0MCwiZXhwIjoxNjczOTY3MTQwfQ.IQeS_VSO0lbBkZzNCvFZvbnSDTnCOKiQzG5OSRPN7WE",
"expiresIn": 86400,
"tokenType": "Bearer",
"roles": [
"admin"
]
},
"user": {
"email": "[email protected]"
}
}
GET /stock?stock_code=${myStockCode}
Headers
{
Authorization: "Bearer ${myAccessToken}"
}
Use accessToken
value, obtained from login response.
Response example
{
"name": "STOCK NAME",
"symbol": "STOCK.SYMBOL",
"open": 2.35,
"high": 2.35,
"low": 2.34,
"close": 2.345
}
GET /stock/history?limit=${maxResultsPerQuery}&page=${numberOfPage}
Headers
{
Authorization: "Bearer ${myAccessToken}"
}
Use accessToken
value, obtained from login response.
Response example
{
"data": [
{
"name": "STOCK NAME",
"symbol": "STOCK.SYMBOL",
"open": 2.35,
"high": 2.35,
"low": 2.34,
"close": 2.345
}
],
"pagination": {
"total": 1,
"limit": 25,
"page": 1,
"pages": 1
}
}
GET /stock/stats
Headers
{
Authorization: "Bearer ${myAccessToken}"
}
Use accessToken
value, obtained from login response.
Response example
[
{
"stock": "STOCK.SYMBOL",
"times_requested": 1
}
]
NOTE: Only admins can access this endpoint.