Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iyobo/amala
Lightweight NodeJs library for creating API endpoints with Typescript decorators. Supports API versioning, OpenAPI3 and docker. Powered by Koa 2+, Koa-router and Nigerian food (amala+ewedu)
https://github.com/iyobo/amala
controller koa-router koa2 openapi3 rest-api router typescript
Last synced: about 1 month ago
JSON representation
Lightweight NodeJs library for creating API endpoints with Typescript decorators. Supports API versioning, OpenAPI3 and docker. Powered by Koa 2+, Koa-router and Nigerian food (amala+ewedu)
- Host: GitHub
- URL: https://github.com/iyobo/amala
- Owner: iyobo
- License: mit
- Created: 2019-07-04T03:11:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-01-09T14:46:43.000Z (11 months ago)
- Last Synced: 2024-05-21T15:13:50.365Z (7 months ago)
- Topics: controller, koa-router, koa2, openapi3, rest-api, router, typescript
- Language: TypeScript
- Homepage:
- Size: 3.71 MB
- Stars: 50
- Watchers: 6
- Forks: 8
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-koa - koa-ts-controllers - Typescript/decorator based Rest controller/router for Koa2+. (Middleware)
README
# Amala
![amala2](https://github.com/iyobo/amala/assets/5804246/acc68a52-1110-4e84-84b3-7529b1f0d354)**Amala** is a decorator-based API framework for KoaJS v2+ and Typescript.
Amala is fast, light, self-documenting and Docker-ready; Perfect for microservices.- Define your REST API endpoints using ES8 _classes_ and _decorators_.
- Inject arguments into your endpoint handlers, effectively turning your controller endpoints into standalone, testable service endpoints.
- Clean, light and FAST endpoints. Powered by Koa.
- No further magic past decorators. Full access to underlying Koa app.
- Project creator comes with fully configured Docker and Docker-compose settings for quick containerization.
- In-built OpenAPI spec exporter and Swagger UI!This leads to clean, self-documenting API endpoints and makes it so you can re-use those service endpoints elsewhere.
It also makes your endpoint endpoints easier to test.## Supporting Amala
**Amala** is an MIT-licensed open source project with its ongoing development made possible entirely by
community support. If Amala is helping you build
awesome APIs, please consider Becoming a Patron.If you would like to contribute in other ways, Pull requests are also welcome!
## Getting started
You may create an Amala project with any of the following:
- `npm init amala-app `
- `npm create amala-app `
- `yarn create amala-app `For next steps, see official docs at https://amalajs.com.