https://github.com/asyncapi-archived-repos/server-api
Server API providing official AsyncAPI tools
https://github.com/asyncapi-archived-repos/server-api
asyncapi docker get-global-node-release-workflows get-global-releaserc hacktoberfest nodejs
Last synced: 2 days ago
JSON representation
Server API providing official AsyncAPI tools
- Host: GitHub
- URL: https://github.com/asyncapi-archived-repos/server-api
- Owner: asyncapi
- License: apache-2.0
- Created: 2021-10-18T11:47:29.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-06-11T12:13:34.000Z (about 2 years ago)
- Last Synced: 2024-10-29T22:38:04.618Z (over 1 year ago)
- Topics: asyncapi, docker, get-global-node-release-workflows, get-global-releaserc, hacktoberfest, nodejs
- Language: TypeScript
- Homepage:
- Size: 5.91 MB
- Stars: 30
- Watchers: 4
- Forks: 33
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
---
## :loudspeaker: ATTENTION:
This repo has been archived as code is moved to https://github.com/asyncapi/cli/tree/master/src/apps/api.
## :loudspeaker: ATTENTION:
---
[](https://www.asyncapi.com)
Server API providing official AsyncAPI tools.
[](#contributors-)
- [Requirements](#requirements)
- [Using it locally](#using-it-locally)
- [Using it via Docker](#using-it-via-docker)
- [Development](#development)
- [Deployment](#deployment)
* [How the GitHub workflow works](#how-the-github-workflow-works)
- [Contribution](#contribution)
- [Supported by](#supported-by)
- [Contributors](#contributors)
## Requirements
- [NodeJS](https://nodejs.org/en/) >= 14
## Using it locally
Run:
```bash
npm install
npm run start:prod
```
server is ready to use on [http://localhost:80](http://localhost:80).
## Using it via Docker
Run:
```bash
docker run -it -p 80:80 asyncapi/server-api
```
server is ready to use on [http://localhost:80](http://localhost:80).
## Development
1. Setup project by installing dependencies `npm install`
2. Write code and tests.
3. Make sure all tests pass `npm test`
## Deployment
This project is deployed to [DigitalOcean App Platform](https://www.digitalocean.com/products/app-platform/) using [Terraform](https://www.terraform.io/) and [GitHub Actions](https://www.github.com/digitalocean/app_action/). To deploy it to your own account, follow these steps:
1. Fork this repository.
2. Create a [DigitalOcean Personal Access Token](https://cloud.digitalocean.com/account/api/tokens) with `read` and `write` permissions. For more information, see [DigitalOcean's documentation](https://docs.digitalocean.com/reference/api/create-personal-access-token/).
3. Run `terraform init` to initialize the Terraform project as can be seen [here](./deployments/apps/main.tf). This should be run being located at ./deployments/apps directory preferably.
4. Run `terraform apply` to create the necessary infrastructure.
> [!NOTE]
> You need to export the following environment variables before running `terraform apply`:
> - `DIGITALOCEAN_ACCESS_TOKEN`: Your DigitalOcean Personal Access Token.
### How the GitHub workflow works
The [GitHub workflow](./.github/workflows/release-docker.yml) is triggered when a new tag is pushed to the repository. It will build a new Docker image and push it to the [Docker Hub](https://hub.docker.com/r/asyncapi/server-api) repository. Then the [DigitalOcean App Platform GitHub Action](https://www.github.com/digitalocean/app_action/) updates the application with the new image.
## Contribution
Read [CONTRIBUTING](https://github.com/asyncapi/.github/blob/master/CONTRIBUTING.md) guide.
## Supported by
## Contributors
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Maciej Urbańczyk
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫

David Pereira
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫

Sergio Moya
🚧 💻 📖 🐛 🤔 👀 ⚠️ 🚇 🧑🏫

Ritik Rawal
💻 📖

Everly Precia Suresh
💻 📖

Ashish Padhy
📖 🚇
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!