Ctrl K
ComunidadGuías…

docs/development.md

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Development

Screego requires:

- Go 1.15+
- Node 13.x
- Yarn 9+

## Setup

### Clone Repository

Clone screego/server source from git:

```bash
$ git clone https://github.com/screego/server.git && cd server
```

### GOPATH

If you are in GOPATH, enable [go modules](https://github.com/golang/go/wiki/Modules) explicitly:

```bash
$ export GO111MODULE=on
```

### Download Dependencies:

```bash
# Server
$ go mod download
# UI
$ (cd ui && yarn install)
```

## Start / Linting

### Backend

Create a file named `screego.config.development.local` inside the screego folder with the content:

```ini
SCREEGO_EXTERNAL_IP=YOURIP
```

and replace `YOURIP` with your external ip.

Start the server in development mode.

```bash
$ go run . serve
```

The backend is available on [http://localhost:5050](http://localhost:5050)

?> When accessing `localhost:5050` it is normal that there are panics with `no such file or directory`.
The UI will be started separately.

### Frontend

Start the UI development server.

_Commands must be executed inside the ui directory._

```bash
$ yarn start
```

Open [http://localhost:3000](http://localhost:3000) inside your favorite browser.

### Lint

Screego uses [golangci-lint](https://github.com/golangci/golangci-lint) for linting.

After installation you can check the source code with:

```bash
$ golangci-lint run
```

## Build

1. [Setup](#setup)

1. Build the UI

   ```bash
   $ (cd ui && yarn build)
   ```

1. Build the binary
   ```bash
   go build -ldflags "-X main.version=$(git describe --tags HEAD) -X main.mode=prod" -o screego ./main.go
   ```