0.2.27 • Published 10 days ago

@backstage/plugin-bazaar v0.2.27

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
10 days ago

@backstage/plugin-bazaar

What is the Bazaar?

The Bazaar is a place where teams can propose projects for cross-functional team development. Essentially a marketplace for internal projects suitable for Inner Sourcing. With "Inner Sourcing", we mean projects that are developed internally within a company, but with Open Source best practices.

Why?

Many companies today are of high need to increase the ease of cross-team cooperation. In large organizations, engineers often have limited ways of discovering or announcing the projects which could benefit from a wider development effort in terms of different expertise, experiences, and teams spread across the organization. With no good way to find these existing internal projects to join, the possibility of working with Inner Sourcing practices suffers.

How?

The Bazaar allows engineers and teams to open up and announce their new and exciting projects for transparent cooperation in other parts of larger organizations. The Bazaar ensures that new Inner Sourcing friendly projects gain visibility through Backstage and a way for interested engineers to show their interest and in the future contribute with their specific skill set. The Bazaar also provides an easy way to manage, catalog, and browse these Inner Sourcing friendly projects and components.

Getting Started

First install the plugin into your app:

# From your Backstage root directory
cd packages/app
yarn add @backstage/plugin-bazaar

Modify your app routes in packages/app/src/App.tsx to include the Bazaar component exported from the plugin, for example:

+ import { BazaarPage } from '@backstage/plugin-bazaar';

const routes = (

  <FlatRoutes>
    ...
+    <Route path="bazaar" element={<BazaarPage />} />
    {/* other routes... */}

Add a Bazaar icon to the Sidebar to easily access the Bazaar. In packages/app/src/components/Root.tsx add:

+ import StorefrontIcon from '@material-ui/icons/Storefront';

  <SidebarDivider />
  <SidebarScrollWrapper>
+    <SidebarItem icon={StorefrontIcon} to="bazaar" text="Bazaar" />
    {/* ...other sidebar-items */}

Add a Bazaar card to the overview tab on the packages/app/src/components/catalog/EntityPage.tsx add:

+ import { EntityBazaarInfoCard } from '@backstage/plugin-bazaar';

const overviewContent = (

    <Grid item md={8} xs={12}>
      <EntityAboutCard variant="gridItem" />
    </Grid>

+   <Grid item sm={4}>
+     <EntityBazaarInfoCard />
+   </Grid>

    {/* ...other entity-cards */}

How does the Bazaar work?

Layout

The latest modified Bazaar projects are displayed in the Bazaar landing page, located at the Bazaar icon in the sidebar. Each project is represented as a card containing its most relevant data to give an overview of the project. The list of project is paginated.

home

Workflow

To add a project to the Bazaar, you need to create a project with one of the templates in Backstage. Click the add project-button, choose the project and fill in the form. You will be asked to add an announcement for new team members. The purpose of the announcement is for you to present your ideas and what skills you are looking for. Further you need to provide the status of the project.

When the project is added, you will see the Bazaar information in the Bazaar card on the entity page. There you can join a project, edit or delete it.

workflow

Database

The metadata related to the Bazaar is stored in a database. Right now there are two tables, one for storing the metadata and one for storing the members of a Bazaar project.

metadata:

  • name - name of the entity
  • entity_ref - namespace/kind/name of the entity
  • announcement - announcement of the project and its current need of skills/team member
  • status - status of the project, 'proposed' or 'ongoing'
  • updated_at - date when the Bazaar information was last modified (ISO 8601 format)

members:

  • entity_ref - namespace/kind/name of the entity
  • user_name
  • join_date - date when the user joined the project (ISO 8601 format)

Future work and ideas

  • Workflow

    • Make it possible to add a Bazaar project without linking it to a Backstage entity, this would make it easier to just add an idea to the Bazaar.
  • Bazaar landing page

    • Add a tab 'My page', where your personal data is displayed. For example: your projects and its latest activities, projects or tags you are following etc.
    • Make it possible to sort the project based on the number of members
  • Bazaar card

    • Make it possible to follow tags/projects
  • Bazaar tab on the EntityPage

    • Fill Bazaar-tab with more content, for example images and achievements
    • Show all the members that have joined the project
  • Dialogues

    • Extend the dialogue for adding a project with more fields, e.g. the possibility to add images
  • Testing

    • Add tests to all the components
0.2.27

13 days ago

0.2.26

16 days ago

0.2.26-next.1

23 days ago

0.2.26-next.0

30 days ago

0.2.25

1 month ago

0.2.24

1 month ago

0.2.23

1 month ago

0.2.23-next.2

2 months ago

0.2.23-next.1

2 months ago

0.2.23-next.0

2 months ago

0.2.22

2 months ago

0.2.22-next.3

3 months ago

0.2.22-next.2

3 months ago

0.2.22-next.1

3 months ago

0.2.22-next.0

3 months ago

0.2.21

4 months ago

0.2.21-next.2

4 months ago

0.2.21-next.1

4 months ago

0.2.21-next.0

4 months ago

0.2.20

4 months ago

0.2.20-next.4

5 months ago

0.2.20-next.3

5 months ago

0.2.20-next.2

5 months ago

0.2.20-next.0

5 months ago

0.2.20-next.1

5 months ago

0.2.17-next.2

7 months ago

0.2.17-next.0

7 months ago

0.2.17-next.1

7 months ago

0.2.18-next.0

6 months ago

0.2.18-next.2

6 months ago

0.2.18-next.1

6 months ago

0.2.16-next.1

8 months ago

0.2.16-next.2

8 months ago

0.2.16-next.3

8 months ago

0.2.11-next.1

10 months ago

0.2.11-next.2

10 months ago

0.2.15-next.0

8 months ago

0.2.19

5 months ago

0.2.18

6 months ago

0.2.17

7 months ago

0.2.16

8 months ago

0.2.15

8 months ago

0.2.14

8 months ago

0.2.13

9 months ago

0.2.12

9 months ago

0.2.11

10 months ago

0.2.12-next.1

9 months ago

0.2.12-next.2

9 months ago

0.2.12-next.0

9 months ago

0.2.9-next.2

11 months ago

0.2.10-next.3

11 months ago

0.2.11-next.0

10 months ago

0.2.10

11 months ago

0.2.9

11 months ago

0.2.9-next.1

11 months ago

0.2.9-next.0

11 months ago

0.2.8-next.1

1 year ago

0.2.8-next.2

12 months ago

0.2.8

12 months ago

0.2.8-next.0

1 year ago

0.2.7-next.3

1 year ago

0.2.7

1 year ago

0.2.7-next.2

1 year ago

0.2.7-next.1

1 year ago

0.2.7-next.0

1 year ago

0.2.6-next.0

1 year ago

0.2.6-next.1

1 year ago

0.2.6-next.2

1 year ago

0.2.6

1 year ago

0.2.5

1 year ago

0.2.4

1 year ago

0.2.4-next.2

1 year ago

0.2.4-next.0

1 year ago

0.2.4-next.1

1 year ago

0.2.3-next.2

1 year ago

0.2.3-next.1

1 year ago

0.2.3

1 year ago

0.2.0-next.1

1 year ago

0.2.0-next.0

2 years ago

0.2.3-next.0

1 year ago

0.2.1-next.3

1 year ago

0.2.1-next.4

1 year ago

0.2.1-next.1

1 year ago

0.2.1-next.2

1 year ago

0.2.1-next.0

1 year ago

0.1.25

2 years ago

0.2.1

1 year ago

0.2.0

1 year ago

0.2.2

1 year ago

0.1.25-next.1

2 years ago

0.1.25-next.0

2 years ago

0.1.25-next.2

2 years ago

0.1.24-next.1

2 years ago

0.1.24-next.2

2 years ago

0.1.24-next.0

2 years ago

0.1.24

2 years ago

0.1.21-next.0

2 years ago

0.1.21-next.1

2 years ago

0.1.22-next.2

2 years ago

0.1.22-next.1

2 years ago

0.1.22-next.3

2 years ago

0.1.22-next.0

2 years ago

0.1.21

2 years ago

0.1.22

2 years ago

0.1.23

2 years ago

0.1.23-next.1

2 years ago

0.1.23-next.0

2 years ago

0.1.20

2 years ago

0.1.20-next.2

2 years ago

0.1.20-next.1

2 years ago

0.1.20-next.0

2 years ago

0.1.19-next.2

2 years ago

0.1.19-next.1

2 years ago

0.1.17-next.0

2 years ago

0.1.17

2 years ago

0.1.18

2 years ago

0.1.19

2 years ago

0.1.19-next.0

2 years ago

0.1.16

2 years ago

0.1.10

2 years ago

0.1.11

2 years ago

0.1.12

2 years ago

0.1.13

2 years ago

0.1.14

2 years ago

0.1.15

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.9

2 years ago

0.1.6

2 years ago

0.1.13-next.0

2 years ago

0.1.12-next.0

2 years ago

0.1.10-next.0

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.5

2 years ago

0.1.2

3 years ago

0.1.1

3 years ago