An API for ssot-specs-collector clients to send specifications to, and for the ssot-specs-dashboard to fetch and view the specifications from.
For the related API client and OpenAPI documentation, see ssot-specs-api-client.
Note
This project is part of a suite of projects that work together. For all other related projects, see this search query: owner:2zqa topic:ssot
- Go (tested with
go version go1.20.3 linux/amd64
) - PostgreSQL (tested with
psql (PostgreSQL) 14.7 (Ubuntu 14.7-0ubuntu0.22.04.1)
)
- Install and setup postgres: https://www.postgresql.org/docs/current/tutorial-start.html. You need to create a database named
ssotdb
with a user namedssot
. You may provide a password yourself. - Create a GitLab application with the
openid
scope and a redirect tohttp://localhost:3000/callback
. Ensure "Confidential" is unchecked. You can create the application on https://<yourgitlabdomain>/-/profile/applications - Copy the
.env.example
file to.env
and fill in the values. The API key can be anything, and the DSN is in the following format:postgres://<username>:<password>@<host>:<port>/<database>
. For example:postgres://ssot:password@localhost/ssotdb
- Clone and enter the repository:
git clone https://github.com/2zqa/ssot-specs-server.git && cd ssot-specs-server
- Run
go install ./cmd/api
- Run
api
SSOT specifications server is licensed under the MIT license.
- Voys for facilitating the internship where this project was developed
- Alex Edwards for providing an excellent resource on building an API with Go, Let's Go Further!, upon which this project is based