Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/palixir/wabe
Your backend in minutes not days for Node.js / Bun
https://github.com/palixir/wabe
backend backend-as-a-service bun database firebase graphql hooks javascript mongodb nodejs performance permissions security wabe
Last synced: 3 days ago
JSON representation
Your backend in minutes not days for Node.js / Bun
- Host: GitHub
- URL: https://github.com/palixir/wabe
- Owner: palixir
- License: apache-2.0
- Created: 2024-05-27T18:32:39.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-29T16:18:19.000Z (12 days ago)
- Last Synced: 2025-01-01T06:02:15.958Z (10 days ago)
- Topics: backend, backend-as-a-service, bun, database, firebase, graphql, hooks, javascript, mongodb, nodejs, performance, permissions, security, wabe
- Language: TypeScript
- Homepage: https://wabe.dev
- Size: 39.6 MB
- Stars: 145
- Watchers: 4
- Forks: 8
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Wabe
## What is Wabe?
Wabe is an open-source backend that allows you to create your own fully customizable backend in just a few minutes. It handles database access, automatic GraphQL API generation, authentication with various methods (classic or OAuth), permissions, security, payment, emails, and more for you.
## Install
```sh
bun install wabe # On bun
npm install wabe # On npm
yarn add wabe # On yarn
```## Basic example
```ts
import { DatabaseEnum, Wabe } from "wabe";const run = async () => {
// Ensure your database is running before run the fileconst wabe = new Wabe({
// Root key example (must be long minimal 64 characters, you can generate it online)
rootKey:
"0uwFvUxM$ceFuF1aEtTtZMa7DUN2NZudqgY5ve5W*QCyb58cwMj9JeoaV@d#%29v&aJzswuudVU1%nAT+rxS0Bh&OkgBYc0PH18*",
database: {
type: DatabaseEnum.Mongo,
url: "mongodb://127.0.0.1:27045",
name: "WabeApp",
},
port: 3000,
});await wabe.start();
};await run();
```## Features
- **Authentication**: Secure and scalable authentication for your applications.
- **Permissions**: Granular permissions control to secure your resources.
- **Database**: A powerful, scalable database to store and manage you data.
- **GraphQL API**: A flexible and powerful GraphQL API (following GraphQL Relay standard) to interact with your data.
- **Hooks**: Powerful hooks system to execute custom actions before or after database requests.
- **Email**: Send emails with your favorite provider with very simple integration.
- **Payment**: Accept payments with Stripe or create your own payment provider adapter.## Contributing
Contributions are always welcome! If you have an idea for something that should be added, modified, or removed, please don't hesitate to create a pull request (I promise a quick review).
You can also create an issue to propose your ideas or report a bug.
Of course, you can also use Wabe for your backend; that is the better contribution at this day ❤️.
If you like the project don't forget to share it.
More information on the [Contribution guide](https://github.com/palixir/wabe/blob/main/CONTRIBUTING.md)
## License
Distributed under the Apache License 2.0 [License](https://github.com/palixir/wabe/blob/main/LICENSE).