Webiny is a developer-friendly serverless CMS which helps you build websites, apps and APIs by providing a set of tools for fast frontend and backend development, a complete and pluginable admin interface and a set of ready-made apps. It is built for self-hosting on AWS, but multi-cloud is coming next year.
We've created a very simple system of plugins that powers both the React apps and the API services. As soon as you begin developing something with Webiny, you'll be working with plugins.
With Webiny, you don't have to start from scratch. We've developed several apps to get you going right away:
Admin- this app is a skeleton for all your administration apps.
File Manager- this app sits at the very core and handles everything related to file management.
Page Builder- this app helps you to create your pages using a visual editor, without any coding.
Form Builder- this app allows you to create forms for your website.
Headless CMS- still in development, this app will add headless CMS to your Webiny project.
In this section we'll provide a brief overview of the technology we use to build Webiny.
Webiny is based on the following tools:
- Apollo GraphQL for everything GraphQL (both React and API).
- create-react-app for React apps, with minor tweaks to support a monorepo.
- MongoDB database as our go-to database, but we support database drivers (see next section).
- Serverless Components to deploy your code to the cloud quickly and painlessly.
On top of that we've created a very thin layer to bootstrap the API so you don't have to do it yourself. Simply create your GQL Schema plugin and start bringing your ideas to life. Almost everything can be overridden by creating a plugin so there are virtually no limits.
Our database of choice is MongoDB and we've developed our apps using that particular database. However, we don't interact with the database directly. We use an ODM package called
Commodo, which is also a Webiny package. It supports different database drivers so you can create a driver for the database of your choice and remove the MongoDB plugins. Remember? Everything is a plugin, even a database connection. How cool is that?
We've taken good care to not lock our code into specifics of MongoDB. Parts of the apps which required us to use some specific database concepts (like
aggregatefor example) are implemented as plugins. Those are easy to override to suite your particular database.
We want Webiny to be deployable to the cloud of your choice. At this point in time, you can only deploy to AWS, but multi-cloud support is one of our main goals. See our Roadmap and get involved on our Github.
There are several places you can join and get involved with Webiny:
- Spectrum Chat - join to get help or discuss bugs and features
- Community Forum - if you prefer forum for discussions
- Github Repo - this is where Webiny code lives
We're glad you're interested in contributing and would love to see your PR! Head over to our contribution guidelines to get familiar with the process.