# bit4sat

## Installation

- init/install the right node version in `.nvmrc`

```
nvm install $(cat .nvmrc)
nvm use
```

 - install yarn (optional)

`sudo apt update && sudo apt install -y yarn`

- install deps

`yarn`

or with npm

`npm install`


## start dev server

With yarn: 

`yarn run start`

or with npm

`npm start`

## Backend Server

Run:

```
> git submodule init
> git submodule update
```

The go server will be find in the server folder. To Run it use:
```
> cd server
> make
> ./bit4sat
```

## API

These are the currently available API endpoints:

- `POST` on `/upload`:
Accept a form with content type `application/json` with following structure:
``` json
{
    "files": {
        "name": "this is the name/path of file (required)",
        "size": "size of file (not required)",
        "sha256": "sha256 (not required)"
    },
    "timestamp": "timestamp as in Date().toJSON() in js"
}
```

Example API call: 
``` bash
curl -sX POST  \                                                                                                                                                     Fri 19:10
  --header 'content-type: application/json'  'localhost:8880/upload/' \
  --data '{"files":[], "timestamp": "2012-04-23T18:25:43.511Z" }'

```


