https://github.com/iyobo/amala
NodeJs Framework for creating REST API endpoints with Typescript decorators. Supports API versioning, OpenAPI3 and docker. Powered by Koa 2+ and Nigerian food (amala+ewedu)
https://github.com/iyobo/amala
controller koa-router koa2 openapi3 rest-api router typescript
Last synced: 11 days ago
JSON representation
NodeJs Framework for creating REST API endpoints with Typescript decorators. Supports API versioning, OpenAPI3 and docker. Powered by Koa 2+ 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 6 years ago)
- Default Branch: master
- Last Pushed: 2024-01-09T14:46:43.000Z (almost 2 years ago)
- Last Synced: 2025-10-02T15:07:59.432Z (24 days ago)
- Topics: controller, koa-router, koa2, openapi3, rest-api, router, typescript
- Language: TypeScript
- Homepage:
- Size: 3.71 MB
- Stars: 51
- Watchers: 4
- Forks: 7
- 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

**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.