Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 86 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,96 @@

<p align="center">

<img src="./assets/logo.png" width="200" />
<br/>
<p align="center">
<b>Matro </b> is a graphql code generator inspired by swagger
</p>
<!-- <p align="center">
A <a href="">Firstcontributions</b> initiative
</p> -->
<p align="center">
<a href= "https://github.com/firstcontributions/matro/actions/">
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/workflow/status/firstcontributions/matro/CI">
</a>
<a href= "https://github.com/firstcontributions/matro/issues">
<img alt="GitHub issues" src="https://img.shields.io/github/issues/firstcontributions/matro">
</a>
<a href= "https://github.com/firstcontributions/matro/blob/main/LICENSE">
<img alt="GitHub license" src="https://img.shields.io/github/license/firstcontributions/matro">
</a>
<a href= "https://codeclimate.com/github/firstcontributions/matro/maintainability">
<img alt="Code Climate maintainability" src="https://api.codeclimate.com/v1/badges/99dfc661e165766b7528/maintainability">
</a>
<a href= "">
<img alt="Code Climate technical debt" src="https://img.shields.io/codeclimate/tech-debt/firstcontributions/matro">
</a>
<a href= "https://codeclimate.com/github/firstcontributions/matro/test_coverage">
<img alt="Code Climate coverage" src="https://api.codeclimate.com/v1/badges/99dfc661e165766b7528/test_coverage">
</a>
<a href="https://deepsource.io/gh/firstcontributions/matro/?ref=repository-badge}" target="_blank">
<img alt="DeepSource" title="DeepSource" src="https://deepsource.io/gh/firstcontributions/matro.svg/?label=active+issues&show_trend=truetoken=CyxagxqXgW4t86z6c-IDpfy7"/>
</a>
<a href="https://deepsource.io/gh/firstcontributions/matro/?ref=repository-badge}" target="_blank">
<img alt="DeepSource" title="DeepSource" src="https://deepsource.io/gh/firstcontributions/matro.svg/?label=resolved+issues&show_trend=true&token=CyxagxqXgW4t86z6c-IDpfy7"/>
</a>
</p>

</p>

<p align="center">
<b>Matro</b> is a GraphQL code generator inspired by Swagger.
</p>

<p align="center">
<a href="https://github.com/firstcontributions/matro/actions/">
<img alt="CI Status" src="https://img.shields.io/github/actions/workflow/status/firstcontributions/matro/ci.yml" />
</a>
<a href="https://github.com/firstcontributions/matro/issues">
<img alt="GitHub issues" src="https://img.shields.io/github/issues/firstcontributions/matro" />
</a>
<a href="https://github.com/firstcontributions/matro/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/github/license/firstcontributions/matro" />
</a>
<a href="https://codeclimate.com/github/firstcontributions/matro/maintainability">
<img alt="Maintainability" src="https://api.codeclimate.com/v1/badges/99dfc661e165766b7528/maintainability" />
</a>
<a href="https://codeclimate.com/github/firstcontributions/matro/test_coverage">
<img alt="Coverage" src="https://api.codeclimate.com/v1/badges/99dfc661e165766b7528/test_coverage" />
</a>
</p>

---

## Overview

## Getting started
Matro is a tool designed to generate GraphQL schemas and related backend components, inspired by the simplicity and efficiency of Swagger. It aims to streamline backend development by automating repetitive tasks.

### 1. Pre-requisites
1. Go version 17.x+
2. For grpc
1. google.golang.org/grpc v1.44.0
2. google.golang.org/protobuf v1.27.1
3. Gnu Make
---

## Getting Started

### 1. Prerequisites

* Go 1.17+
* gRPC dependencies:

* `google.golang.org/grpc v1.44.0`
* `google.golang.org/protobuf v1.27.1`
* GNU Make

### 2. How to Install
```sh
$. git clone git@github.com:firstcontributions/matro.git
$. cd matro
$. make config
$. make build
---

### 2. Installation

```bash id="s1d9e2"
git clone https://github.com/firstcontributions/matro.git
cd matro
make config
make build
```

## Progress
---
- [x] GraphQL Schema generator
- [x] gRPC proto buf & service stub generator
- [x] gRPC service implementation
- [x] Models/ Store generator
- [x] Graphql golang implementation
- [ ] React-relay generator

## Features / Progress

* [x] GraphQL schema generator
* [x] gRPC protobuf and service stub generator
* [x] gRPC service implementation
* [x] Models / store generator
* [x] GraphQL Golang implementation
* [ ] React Relay generator

---

## Project Structure

```text id="y7f8k1"
cmd/ → CLI entry points
pkg/ → Core logic
internal/ → Internal modules
```

---

## Contributing

Contributions are welcome!

1. Fork the repository
2. Create a new branch
3. Make your changes
4. Submit a pull request

---

## License

This project is licensed under the MIT License.