Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/paion-data/astraios

👑 JSON-API/GraphQL CRUD webservice template with Jersey framework
https://github.com/paion-data/astraios

crud graphql hashicorp java java17 jersey jetty jsonapi mysql swagger webservice

Last synced: 2 months ago
JSON representation

👑 JSON-API/GraphQL CRUD webservice template with Jersey framework

Awesome Lists containing this project

README

        


Astraios Logo

In less than 10 minutes, your colleague went downstairs for a cup of coffee

You, using Astraios, coded up and deployed a production-quality CRUD webservice

Astraios ![Java Version badge][Java Version badge]
========

[![GitHub Workflow Status][GitHub Workflow Status badge]][GitHub Workflow Status URL]
[![Last Commit][GitHub Last Commit badge]][GitHub Last Commit URL]
[![Apache License Badge]][Apache License, Version 2.0]

[Astraios] is a [JSR 370] web service **template** that lets us _spin up_ and _deploy_ model driven GraphQL or JSON API
web service with minimal effort.

Astraios seamlessly combines development and deployment of a CRUD (Create, Read, Update, Delete) API with

1. a business-oriented approach using [Convention Over Configuration](https://en.wikipedia.org/wiki/Convention_over_configuration), which resulted in a highly opinionated APIs for web & mobile
2. the latest
[Immutable Infrastructure](https://www.hashicorp.com/resources/what-is-mutable-vs-immutable-infrastructure)
DevOp practice that
[fully automates the API deployment onto
AWS](https://qubitpi.github.io/hashicorp-aws/)

At the end of the day, Astraios helps organization to **improve the velocity and quality of their teams' work**

Spinning Up the API in 1 Minute
-------------------------------

### Running API From Template [![Java Version badge][Java Version badge]](https://paion-data.github.io/astraios/docs/setup#installing-java--maven-on-mac) ![Maven badge][Maven badge] [![Docker Compose badge][Docker Compose badge]](https://docs.docker.com/engine/install/)

```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/paion-data/astraios/master/quickstart.sh)"
```

### Writing Data

```curl
curl -X POST "http://localhost:8080/v1/data" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{ "query" : "mutation { book(op: UPSERT, data:{title: \"Pride & Prejudice\"}) { edges { node { id title } } } }" }'
```

### Reading Data

Simply open up our favorite browser and hit http://localhost:8080/v1/data/book

Deploying the API in 5 Minutes
------------------------------

![GitHub Actions badge][GitHub Actions badge]
![HashiCorp Packer badge][HashiCorp Packer badge]
![HashiCorp Terraform badge][HashiCorp Terraform badge]
[![AWS EC2 min size][AWS EC2 min size]](https://aws.amazon.com/ec2/instance-types/)

Coming Soon!

Documentation
-------------

[![upptime][upptime badge]][upptime url]

Comprehensive documentation is viewable on our [website][Documentation]

Contributors [![Update Link Missing!](https://img.shields.io/badge/Click%20To%20Update-00AA00.svg?style=for-the-badge&logo=githubactions&logoColor=white)](https://github.com/paion-data/astraios/actions/workflows/contributors.yml)
------------



QubitPi


QubitPi




Xxy1016


Xxy1016




Doom9527


Doom9527




TristeOak


TristeOak




github-actions[bot]


github-actions[bot]

License
-------

The use and distribution terms for [Astraios] are covered by the [Apache License, Version 2.0].

[Apache License Badge]: https://img.shields.io/badge/Apache%202.0-F25910.svg?style=for-the-badge&logo=Apache&logoColor=white
[Apache License, Version 2.0]: http://www.apache.org/licenses/LICENSE-2.0.html
[Astraios]: https://astraios.io
[AWS EC2 min size]: https://img.shields.io/badge/EC2-%E2%89%A5t2.small-FF9902?style=for-the-badge&logo=amazonec2&logoColor=white

[Documentation]: https://paion-data.github.io/astraios/
[Docker Compose badge]: https://img.shields.io/badge/Docker%20Compose-2596EC?style=for-the-badge&logo=docker&logoColor=white

[GitHub Actions badge]: https://img.shields.io/badge/GitHub%20Actions-2088FF?style=for-the-badge&logo=githubactions&logoColor=white
[GitHub Last Commit badge]: https://img.shields.io/github/last-commit/paion-data/astraios/master?logo=github&style=for-the-badge
[GitHub Last Commit URL]: https://github.com/paion-data/astraios/commits/master/
[GitHub Workflow Status badge]: https://img.shields.io/github/actions/workflow/status/paion-data/astraios/ci-cd.yml?branch=master&logo=github&style=for-the-badge
[GitHub Workflow Status URL]: https://github.com/paion-data/astraios/actions/workflows/ci-cd.yml

[HashiCorp Packer badge]: https://img.shields.io/badge/Packer-02A8EF?style=for-the-badge&logo=Packer&logoColor=white
[HashiCorp Terraform badge]: https://img.shields.io/badge/Terraform-7B42BC?style=for-the-badge&logo=terraform&logoColor=white

[Maven badge]: https://img.shields.io/badge/Maven-DF5931?style=for-the-badge&logo=apachemaven&logoColor=white

[Java Version badge]: https://img.shields.io/badge/Java-17-brightgreen?style=for-the-badge&logo=OpenJDK&logoColor=white

[JSR 370]: https://jcp.org/en/jsr/detail?id=370

[upptime badge]: https://img.shields.io/endpoint?style=for-the-badge&url=https://raw.githubusercontent.com/paion-data/paion-data-service-status/master/api/astraios/uptime.json
[upptime url]: https://paion-data.github.io/paion-data-service-status/history/astraios