Skip to content

Commit

Permalink
Merge pull request backstage#198 from spotify/stefanalund-patch-1
Browse files Browse the repository at this point in the history
Move down backend docs in README
  • Loading branch information
Stefan Ålund authored Mar 9, 2020
2 parents d6145a9 + b24d749 commit 90b21e7
Showing 1 changed file with 29 additions and 18 deletions.
47 changes: 29 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,35 @@ The philosophy behind Backstage is simple: Don't expose your engineers to the fu

![headline](headline.png)

At Spotify we believe that a better developer experience leads to happier and more productive engineers.
At Spotify we [strongly believe](https://backstage.io/the-spotify-story) that a better developer experience leads to happier and more productive engineers.

## Overview

The Backstage platform consists of a number of different components:

- **frontend** - Main web application that users interact with. It's built up by a number of different _Plugins_. Plugins all use a common set of platform API's and reusable UI components. Each plugin is treated as a self-contained web app and can include almost any type of content. Plugins can fetch data either from the _backend_ or through any RESTful API exposed through the _proxy_.
- **backend** (not released yet) - GraphQL aggregation service that holds the model of your software ecosystem, including organisational information and what team owns what software. The backend also has a Plugin model for extending its graph.
- **frontend** - Main web application that users interact with. It's built up by a number of different _Plugins_.
- **plugins** - Each plugin is treated as a self-contained web app and can include almost any type of content. Plugins all use a common set of platform API's and reusable UI components. Plugins can fetch data either from the _backend_ or through any RESTful API exposed through the _proxy_.
- **backend** * - GraphQL aggregation service that holds the model of your software ecosystem, including organisational information and what team owns what software. The backend also has a Plugin model for extending its graph.
- **proxy** - Terminates HTTPS and exposes any RESTful API to Plugins.
- **identity** (not released yet) - A backend service that holds your organisation's metadata.
- **identity** * - A backend service that holds your organisation's metadata.

_* not yet released_

![overview](backstage_overview.png)

## Getting started

### Install Dependencies

To run the frontend, you will need to have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git), [NodeJS](https://nodejs.org/en/download/), and [yarn](https://classic.yarnpkg.com/en/docs/install#mac-stable) installed.

For running the backend, depending on your OS, you need [Docker Desktop for Mac](https://docs.docker.com/docker-for-mac/install/), [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/install/), or for Linux, [docker](https://docs.docker.com/install/) and [docker-compose](https://docs.docker.com/compose/install/#install-compose-on-linux-systems).

The above dependencies are enough to run and work on the Backstage frontend packages. To develop backend services, there are some more tools to install, see [backend/README.md](backend/README.md). To update protobuf definitions, you will need another set of tools, see [proto/README.md](proto/README.md).

## Running Locally

The full local system consists of a collection of backend services, as well as a web application. From the root of the project directory, run the following in a terminal to start up all backend services locally:
To run the frontend, you will need to have the following installed:

```bash
$ cd backend
* [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
* [NodeJS](https://nodejs.org/en/download/)
* [yarn](https://classic.yarnpkg.com/en/docs/install)

$ docker-compose up --build
```
## Running the frontend locally

Once the backend services are up and running, open a separate terminal window and start the web app using the following commands from the project root:
Open a terminal window and start the web app using the following commands from the project root:

```bash
$ yarn # may take a while
Expand All @@ -68,8 +63,24 @@ This will prompt you to enter an ID for your plugin, and then create your plugin

If you have `yarn start` already running you should be able to see the default page for your new plugin at [localhost:3000/my-plugin](http://localhost:3000/my-plugin), if you called the plugin `"my-plugin"`.

## Running the backend(s) locally

For running the backend, depending on your OS, you need [Docker Desktop for Mac](https://docs.docker.com/docker-for-mac/install/), [Docker Desktop for Windows](https://docs.docker.com/docker-for-windows/install/), or for Linux, [docker](https://docs.docker.com/install/) and [docker-compose](https://docs.docker.com/compose/install/#install-compose-on-linux-systems).

The full local system consists of a collection of backend services, as well as a web application. From the root of the project directory, run the following in a terminal to start up all backend services locally:

```bash
$ cd backend

$ docker-compose up --build
```

To develop backend services, there are some more tools to install, see [backend/README.md](backend/README.md). To update protobuf definitions, you will need another set of tools, see [proto/README.md](proto/README.md).

## Documentation

_TODO: Add links to docs on backstage.io_

## License

Copyright 2020 Spotify AB.
Expand Down

0 comments on commit 90b21e7

Please sign in to comment.