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:
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.
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.
@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.
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.
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.
Noun & Verb generates TypeScript code. Coupled with the strong test coverage, creating mission critical production services has never been easier.
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.
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.
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
Currently we do some testing against the relational databases
supported by Prisma:
Microsoft SQL Server &
This testing is not yet exhaustive and we'd be grateful for any reports of trouble you encounter.
We'd like to explore open sourcing our code, but are choosing to tread carefully to ensure the viability of this project.
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.
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.
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.
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.
Absolutely! Please join the conversation on discord
Please reach out to [email protected]. We are here to help!
A 15 second tour of the inner-workings of Noun & Verb. Enjoy.
If you're not satisfied, contact us within the first 14 days and we'll send you a full refund.