This is the backend for the Announcements plugin. This plugin provides:
- REST APIs for managing announcements and categories
- Integration with the
@backstage/plugin-search
plugin - Integration with the
@backstage/plugin-permission-backend
plugin
Are you looking to install the announcements plugin? See the project's installation guide.
# install dependencies
yarn install
# set .env
cp env.sample .env
source .env
# start the backend
yarn start
The plugin includes support for postgres and better-sqlite3 databases. By default, the plugin uses a postgres database via docker-compose. Update the app-config.yaml
to use the better-sqlite3
database.
The postgres database can be started with docker-compose. Don't forget to copy the env.sample
.
# start the postgres database
docker-compose up -d
# stop the postgres database
docker-compose down -v
The better-sqlite3 database can be seeded with categories and announcements.
With the backend running,
# runs migrations and seeds the database
yarn db:setup
# or run them separately
yarn db:migrations
yarn db:seed
This will create a local.sqlite
file under the db/
directory.
Visit knexjs to learn more about the database migrations and seeding.
# get all announcements
curl http://localhost:7007/api/announcements/announcements
# get all categories
curl http://localhost:7007/api/categories
// get all announcements
const response = await fetch(
'http://localhost:7007/api/announcements/announcements',
);
const data = await response.json();
return data;