-
To start the project you need to run
docker compose up -d
it will pull the images if not exists and spin up the containers. -
Run
make install
to install dependencies if this is the first time. 🎯
- Run
make import
this command will fetch data from a specific API and insert it into DB. - Send a confirmation email async for each inserted row. see rabbitmq
Run make client
this will run vuejs
project with hot reload
Run make test
to execute all tests
Sending email async you can check queue messages where each message contains serialized data which will use on the consumer side for sending emails
Rabbitmq http://localhost:15672/
- username: user
- password: password
base url http://localhost:8080
type | url | description |
---|---|---|
GET | /api/fruits | Get list of fruites |
GET | /api/fruits/name | Get list of names |
GET | /api/fruits/family | Get list of familes |
GET /api/fruits
"total": 324,
"items": [
{
"id": 1,
"name": "Apple",
"family": "Rosaceae",
"order": "Rosales",
"genus": "Malus",
"nutritions": {
"fat": 0.4,
"sugar": 10.3,
"protein": 0.3,
"calories": 52,
"carbohydrates": 11.4
}
}, ...]
GET /api/fruits/name
"items": [
"Apple",
"Apricot",
"Avocado",
"Banana",
"Blackberry",
]
GET /api/fruits/family
"items": [
"Rosaceae",
"Lauraceae",
"Musaceae",
"Ericaceae",
"Cactaceae",
"Malvaceae",
]
You can check the code against the PSR-12 coding standard and eslint by running make autofix
Run make stop
or make up
to start containers again