Code Monkey home page Code Monkey logo

metatype's Introduction

Metatype

Support us by starring ⭐ this repository, joining the community on discussions 💬,
subscribing to releases 🔔, requesting a feature 💡 or even making a contribution :octocat:.

Typegate Docker Meta CLI binary Python typegraph SDK Typescript typegraph SDK

Metatype • declarative API development platform

Programming is like castle building

And castle building is hard. Even the best teams can struggle to build according to the plans, especially with the ever evolving needs and the tech landscape complexities.

Castle building
Stable castle

Build stable castle with typegraphs

Typegraphs are programmable virtual graphs describing all the components of your stack. They enable you to compose APIs, storage and business logic in a type safe manner.

Build modulable castle with typegate

Typegate is a distributed GraphQL/REST query engine that compiles, optimizes, runs and caches queries over typegraphs. It enforces authentication, authorization and security for you.

Modulable castle
Reusable castle

Build reusable castle with Metatype

Install third parties as dependencies and start reusing components. The Meta CLI offers you live reloading and one-command deployment to Metacloud or your own instance.

back to top ↑

Overview and motivations

Metatype is an open source platform for developers to declaratively build APIs. It offers a unique approach to building backends, where the focus is all on data modelling and the platform takes care of the rest.

The intent is to find a convenient computing model that tackles the following challenges:

  • most developers still spend too much time on tasks with low-value (crud, data validation, compliance, etc.)
  • when growing a product, it is hard to keep up with business needs and remain innovative with technology
  • managing server and infrastructure shall never be a concern for developers nor slow them down

In that respect, Metatype can be seen as an alternative to Hasura, Strapi, Firebase, or even web frameworks like Django or NestJS. You can see how Metatype differs reading the conceptual overview or the comparison summary.

The platform consists of the following components:

  • Typegraph: a package to describe typegraphs - virtual graphs of types - and compose them
  • Typegate: a distributed REST/GraphQL query engine to execute queries over typegraphs
  • Meta CLI: a command-line tool to provide great developer experience and serverless deployment

A vast range of runtimes is implemented by the platform and provides out of the box support for storing data in databases/S3, connecting to third-party/internal APIs and running business logic in Deno/Python/WebAssembly.

Architectural overview

Browse the documentation or start directly building your first typegraph!

back to top ↑

Development status

Metatype is in beta and some interfaces still need to be stabilized, yet most of the core of the engine is close to production readiness. As such, it does not follow semantic versioning until the first stable release, and all changes will be explicitly outlined in the changelog (watch/subscribe to this repository to be notified).

back to top ↑

Contributing

If you have an idea or a suggestion that would make this better, please fork the repository and follow the step below to create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the repository
  2. Clone your fork and follow the developer setup
  3. Create a feature branch: git checkout -b feature/awesome-x
  4. Commit your changes using conventional commits: git commit -am 'feat: add awesome x'
  5. Push to the branch: git push origin feature/awesome-x
  6. Open a pull request

First-time contributors can find a list of friendly issues for them to get started and discover step by step the platform.

back to top ↑

License

Copyright © Metatype OÜ. Distributed under various licenses, see LICENSE for the details. Contributions are welcomed and subject to Contributor License Agreement (CLA).

back to top ↑

metatype's People

Contributors

natoandro avatar zifeo avatar dependabot[bot] avatar afmika avatar msga-mmm avatar github-actions[bot] avatar yohe-am avatar kazy avatar zoharyand avatar jessemcdowell avatar freezy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.