Git Product home page Git Product logo

philflex2020 / encore Goto Github PK

View Code? Open in Web Editor NEW

This project forked from encoredev/encore

0.0 0.0 0.0 1.32 MB

Encore is the Backend Development Engine helping developers escape the maze of complexity.

Home Page: https://encore.dev

License: Mozilla Public License 2.0

Go 80.12% HTML 0.03% JavaScript 0.03% TypeScript 18.45% CSS 0.71% Shell 0.30% Batchfile 0.29% Dockerfile 0.03% Assembly 0.03%

encore's Introduction

Encore - Backend development engine

Encore makes it incredibly simple to create distributed systems, backend services and APIs. While still deploying to your own cloud account, Encore helps you escape the maze of cloud complexity:
  • No endless repetition of boilerplate.

  • No infrastructure to worry about.

  • No reinventing the wheel.

Start building with a fantastic flow-state experience that unlocks your creative potential.
All of this is freely available, based on the Open Source Encore Go Framework.

🏁 Get started in minutes and check out the documentation: encore.dev/docs

⭐ If you find Encore interesting, star this repository to help spread the word.

👋 Have questions? Join the friendly developer community on Slack.

Key features

  • Write a function, get an API: Call any function as an API by adding a single annotation.

  • No Boilerplate: Define services, API endpoints, and call APIs with a single line of Go code. Create multiple services as easy as creating Go packages.

  • Databases made simple: Define the schema and then start querying. Encore takes care of provisioning, migrations, connections and passwords. Both for local development and production.

  • Built in CI/CD: Build and ship your application with the push of a button. No setup needed.

  • One developer experience, unlimited environments: All features work the same in any environment, including local development. Create as many or as few environments as you wish.

  • Infrastructure Provisioning in your own cloud account: Encore understands how your application works, and provisions and manages your cloud infrastructure in your own account. Works with all the major cloud providers, including AWS/Azure/GCP. Encore also offers free build-in cloud hosting for development.

  • Single cloud, multi-cloud, hybrid cloud: Deploy your app to multiple clouds, with the click of a button.

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

  • Cloud primitives at your fingertips: Use primitives like Cron Jobs, Databases, and Queues simply by writing code. No configuration. No setup. Just float into the flow.

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

  • Simple Secrets: The easiest way ever to store and securely use secrets and API keys. Define secrets in your code like any other variable, and Encore takes care of the rest.

  • Automated 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.

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

Getting started

Deploy your first app in minutes by following the Quick Start Guide.

Screenshots

Simple Cloud Environments

Simple Cloud Environments

Automatic Infrastructure Provisioning

Automatic Infrastructure Provisioning

Distributed Tracing

Distributed Tracing

Automated API Documentation

Automated API Documentation

Native Cron Jobs

Native Cron Jobs

Join the most pioneering developer community

Engineers building with Encore are forward thinkers who wish to unlock their creativity and focus on building great software to solve meaningful problems. It's a friendly place to be, great for exchanging ideas and learnings! Join the conversation on Slack.

We rely on your contributions and feedback to improve Encore for everyone who is using it. Here's how you can contribute:

  • Star and watch this repository to help spread the word and stay up to date.
  • Share your ideas and questions on Slack.
  • Follow Encore on Twitter.
  • Share feedback or ask questions via email.
  • Leave feedback on the Public Roadmap.
  • Send a pull request here on GitHub with your contribution.

Contributing to Encore and building from source

See CONTRIBUTING.md.

Frequently Asked Questions (FAQ)

Who's behind Encore?

Encore was founded by long-time backend engineers from Spotify, Google and Monzo with over 50 years collective experience. We’ve lived through the challenges of building complex distributed systems with thousands of services, and scaling to hundreds of millions of users.

Encore grew out of these experiences and is a solution to the frustrations that came with them: unnecessary crippling complexity and constant repetition of undifferentiated work that suffocates developer’s creativity. With Encore, we want to set developers free to achieve their creative potential.

Who is Encore for?

For individual developers building for the cloud, Encore provides a radically improved experience. With Encore you’re able to stay in the flowstate and experience the joy and creativity of building.

For startup teams who need to build a scalable backend to support the growth of their product, Encore lets them get up and running in the cloud within minutes. It lets them focus on solving for the needs of their users, instead of spending most of their time re-solving the everyday challenges of building distributed systems in the cloud.

For teams in mature organizations that want to focus on innovating and building new features, Encore lets them stop spending time on operations and onboarding new team members. Using Encore for new feature development is easy, just spin up a new backend service in a few minutes.

How is Encore different?

Encore is the only tool that understands what you’re building. The Encore framework, coupled with static analysis, lets Encore deeply understand the application you’re building. This enables the platform to provide a unique developer experience that helps you stay in the flowstate as you’re building.

Unlike many tools that aim to only make cloud deployment easier, Encore is not a cloud hosting provider. With Encore, you can use your own cloud account with all the major cloud providers: AWS/Azure/GCP. This means you’re in control of your data and can maintain your trust relationship with your cloud provider. You can also use Encore's development cloud for free, with pretty generous "fair use" limits.

Why is the framework integrated with cloud hosting?

We've found that to meaningfully improve the developer experience, you have to operate across the full stack. Unless you understand how an application is deployed, there are a large number of things in the development process that you can't simplify. That's why so many other developer tools have such a limited impact. With Encore, we're bravely rethinking the developer experience in a much more significant way.

What if I want to migrate away from Encore?

Encore has been designed to let you go outside of the framework when you want to, and easily drop down in abstraction level when you need to. This means you're not likely to run into any "dead ends".

If you really do want to migrate away, it's relatively easy to do. Because when you build an Encore application, the vast majority of code is just plain Go. So in practise, the amount of code specific to Encore is very small.

And with Encore, most of the value comes from letting you avoid doing a bunch of foundational work. Which means what you need to do when migrating away, is exactly what you would have had to do without Encore anyway.

Migrating away is also very low risk, since Encore deploys to your own cloud account from the start, so there's never any data to migrate.

Open Source also plays a role. Encore's code generation, compiler, and parser are all open source and can be used however you want. So if you run into something unforeseen down the line, you have free access to the tools you might need.

And since Encore is about building distributed systems, it's quite straightforward to use it in combination with other backends that aren't built with Encore. So if you come across a use case where Encore for some reason doesn't fit, you won't need to tear everything up and start from scratch. You can just build that specific part without Encore.

It's our belief that adopting Encore is a low-risk decision, given it needs no initial investment in foundational work. The ambition is to simply add a lot of value to your every-day development process, from day one.

encore's People

Contributors

eandre avatar marcuskohlberg avatar domblack avatar horiajurcut avatar willyham avatar melkstam avatar frzam avatar valeriavg avatar bn4t avatar matthewjamesboyle avatar flexicon avatar klemmster 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.