SIGN IN SIGN UP
screego / server UNCLAIMED

screen sharing for developers https://screego.net/

0 0 26 Go
2020-10-09 18:26:58 +02:00
# 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
2020-10-11 11:25:43 +02:00
1. [Setup](#setup)
2020-10-09 18:26:58 +02:00
1. Build the UI
```bash
$ (cd ui && yarn build)
```
1. Build the binary
```bash
2022-07-02 17:52:14 +02:00
go build -ldflags "-X main.version=$(git describe --tags HEAD) -X main.mode=prod" -o screego ./main.go
2020-10-09 18:26:58 +02:00
```