Features

The best of Noun & Verb

Ground up, Noun & Verb is designed to enable higher-order systems thinking.

GraphQL API (schema & resolvers)

Using three simple annotations: @readOnly, @createOnly and @writeOnly, Noun & Verb provides fine grained control over how a data-model is exposed over a public API.

Mirroring the Prisma client API, Noun & Verb generates a fully functional GraphQL API, schemas and resolvers included.

Mock Data

Generating synthetic data for an API is a chore that is remarkably useful and tedious. Noun & Verb uses the @mock annotation and supports 155 built-in fake data generators via Faker.js.

Custom mock generators are as simple as naming them in the annotation. Fully functional scaffolding code is generated.

Field Validation

The @scalar annotation, allows Noun & Verb to understand 55 types defined in Validator.js. Auto generated code includes validation, serialization, and de-serialization. Custom scalars are as easy as naming them! All necessary scaffolding code is generated.

And yes, both built-in and custom scalars come with test cases.

Test Automation

Noun & Verb takes quality of code seriously. To put our money where our mouth is, we provide 100% code coverage over all generated code.

For custom entities, our goal is to go as far as sensibly possible to reduce the developer effort required to maintain this high coverage milestone.

Battle Hardened

Noun & Verb uses best-of-breed open-source libraries and wires them together. Like what an expert developer would do, just faster - much faster!

There are no extra abstractions/libraries to learn or work with.

Type Safe

Noun & Verb generates TypeScript code. Coupled with the strong test coverage, creating mission critical production services has never been easier.

Roadmap

Coming Soon (...really soon!)

We boldly claimed the mantle of most flexible in the lead-in. Along with custom scalars and mocks, the list below rounds out the basis for our claim.

While our roadmap is long and ambitious, these features are in very advanced stages of development and release is imminent.

Custom Verbs

Any sophisticated API requires more than simple CRUD semantics. Custom Verbs are GraphQL operations defined in the schema. Noun & Verb functions as a schema-first generator for these.

Noun & Verb generates the scaffolding (including test cases). Fill in the business logic, generate test data and you are good to go.

Fine-Grained Filters

Using code-generators makes it easy to generate comprehensive APIs. However, real-world systems require a nuanced approach on what is exposed and what stays hidden.

Currently, Noun & Verb supports filtering the exposed nouns. Coming soon is the ability to filter individual API calls. To our knowledge, no other framework provides such capability.

Built with Open Source

Frequently asked questions

Which databases do you support?

Currently we do some testing against the relational databases supported by Prisma:
Postgresql, MySql, Microsoft SQL Server & Sqlite.

This testing is not yet exhaustive and we'd be grateful for any reports of trouble you encounter.

Is your code open source?

No.

We'd like to explore open sourcing our code, but are choosing to tread carefully to ensure the viability of this project.

Then what about my API?

The generated code consists of carefully selected, battle-tested modules that use OSI approved licenses, and are wired together to accomplish the stated goal.

All of the generated code is available in source form to you. You are free to adapt and license any/all of it as you see fit.

The generated code does not have a license precisely for this reason. It's your code, you make the decision.

Why should I trust your product?

We'd like to make an honest living and take pride in our work and product.

Not only do we generate code that runs at 100% coverage, our generator itself runs at 100% coverage. We take this responsibility very seriously and are committed to moving fast to resolve any issues that crop up.

Co-existing custom & generated code? My past experience says Ughhh!

Great observation! We do two things to help here:

First, auto generated and custom code are clearly segregated. Typically in different directories, but definitely in different files.

Second, each auto-managed file carries a warning header that manual edits will be over-written.

Many of the customizable files, are also auto-generated, but only on first creation. Post creation, they are left alone, to ensure your customizations are preserved. Your version control system can be used to advantage in managing/upgrading these files over time.

What does a "free beta" mean?

In return for your interest in our product (and hopefully some feedback), we are launching with a free beta.

We intend to charge for the production version of the product. The code generated by the beta version is your to keep and adapt as you see fit. For continued operation, the generator itself will have to be upgraded to the production version.

Do you offer support?

Absolutely! Please join the conversation on discord

I have other questions...

Please reach out to [email protected]. We are here to help!

Inner workings

Architecture

A 15 second tour of the inner-workings of Noun & Verb. Enjoy.

Simple no-tricks pricing

If you're not satisfied, contact us within the first 14 days and we'll send you a full refund.

Per API Pricing

A license applies to each independently managed API service.

What's included

  • Noun & Verb generator

  • 100% generated source code

  • 12 months of updates

  • Weeks of saved time