Skip to content
/ encore Public
forked from encoredev/encore

The Backend Development Engine built for Go

License

Notifications You must be signed in to change notification settings

forkkit/encore

 
 

Repository files navigation

Encore makes it super easy to create backend services and APIs. Built ground up for Go, Encore uses static analysis and code generation to provide a revolutionary developer experience that is extremely productive.

Get started in minutes and read the complete documentation: encore.dev/docs

Key features

  • No Boilerplate: Set up a production ready backend application in minutes. Define services, API endpoints, and call APIs with a single line of Go code.

  • Databases Made Simple: Define the schema and then start querying. Encore takes care of provisioning, migrations, connections and passwords.

  • Distributed Tracing: Your application is automatically instrumented for excellent observability. Automatically capture information about API calls, goroutines, HTTP requests, database queries, and more. Works for both local development and production.

  • Infrastructure Provisioning: Encore understands how your application works, and provisions and manages your cloud infrastructure. Works with all the major cloud providers using your own account (AWS/Azure/GCP) and for local development.

  • Preview Environments: Every pull request becomes an isolated test environment. Collaborate and iterate faster than ever.

  • Simple Secrets: It's never been this easy to store and securely use secrets and API keys. Define secrets in your code like any other variable, Encore takes care of the rest.

  • API Documentation: Encore parses your source code to understand the request/response schemas for all your APIs, and automatically generates high-quality, interactive API Documentation for you.

  • Generate Frontend Clients: Automatically generate type-safe, documented clients for your frontends.

Getting started

To start using Encore, follow our simple Quick Start Guide.

Setup Demo

Setup demo

Database Demo

Setting up a database

API Documentation

API Documentation

Distributed Tracing

Automatic Tracing

Contributing to Encore and building from source

See CONTRIBUTING.md.

Frequently Asked Questions (FAQ)

Who's behind Encore?

We're long-time Staff Engineers from Spotify, who grew frustrated with all the boilerplate and boring stuff you have to do to build modern cloud applications.

Why is the framework integrated with cloud hosting?

We've found that to meaningfully improve developer productivity you have to operate across the full stack. Unless you understand how an application is deployed, there are lots of things in the development process that you can't simplify. You can still use your own account with any of the major cloud providers (AWS/Azure/GCP), or you can use Encore's cloud for free, for Hobby projects, with pretty generous "fair use" limits.

Can I use an existing Kubernetes cluster with Encore?

Not right now. We definitely want to support deploying to an existing k8s cluster, and enable more flexible deployment topologies in general. It's a bit tricky since we set up the cluster in a certain way, and it's hard to know how the existing cluster is configured and we don't want to break any existing application that might be running there.

Can you have it provision in Kubernetes rather than a cloud infrastructure?

Right now we only support deploying Encore apps to Kubernetes. Either where we host it for you (using AWS under the hood), or you can tell Encore to deploy to your own cloud account. In that case we currently set up a new Kubernetes cluster.

Does Encore support using websockets?

Encore supports dropping down to plain HTTP requests which lets you use Websockets.

Get Involved

We rely on your contributions and feedback to improve Encore. We love hearing about your experiences using Encore, and about what may be unclear and we can do a better job explaining.

About

The Backend Development Engine built for Go

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 77.6%
  • TypeScript 19.3%
  • CSS 2.5%
  • Batchfile 0.3%
  • Shell 0.3%
  • HTML 0.0%