# Backend requirements Vinofy V0.0.8
### TODOs
* Add new tables to DB (siprewards_tasks, user_siprewards_tasks)
* Update users table (add sipcoints field)
* Fill siprewards_tasks with data from Figma Design
* Create endpoint GET 'users/sipcoints'
* Create endpoint GET 'siprawards/tasks'
* Create endpoint POST 'social_media_sharing'
* Update signup to receive 'referrer' query param
* Update social media **signup** to receive 'referrer' query param (ignore if user trying to auth already exist)
* Update user's sipcoints when user:
* creates a reaction video
* likes 10 reactions
* rates 5 wines
* someone signs up with user's id as referrer code(invite a friend)
### Notes
* Invite friend is the only task with field is_one_time_task = false
* If is_one_time_task = false and user_siprewards_tasks.steps_done == siprewards_tasks.steps_needed then set user_siprewards_tasks.steps_done = 0 and user_siprewards_tasks.times_completed++
### DB Tables

### Endpoints
#### path: users/sipcoints
method: GET
request body: none
query params: none
response:
```
{
sipcoints: int
}
```
#### path: siprawards/tasks
method: GET
request body: none
query params: none
response:
```
{
data: [
{
id: String,
title: String,
Description: String,
sipcoints: interger,
steps: integer,
steps_done: integer,
sub_tasks: [
{
id: String,
title: String,
Description: String,
sipcoints: interger,
steps: integer,
steps_done: integer
}
...
]
}
]
}
```
#### path: social_media_sharing
method: POST
request body: none
query params: none
response:
```
{
msg: 'ok'
}
```