All-in-One Framework 🚀
The foundation is already there.You don't have to rebuild everything from scratch or find and make 3rd-party packages work together. Everything is included.
But if you wish, you can still import and use your favorite libraries. The framework is extensible.
Build and run your app in development and in production. Generate files.
Take advantage of TypeORM and generate migrations from your models.
JWTs and Session Tokens
Implement stateful or stateless authentication with cookies or the Authorization header.
Unit and E2E tests
Write automated tests with a ready-to-use environment and a simple dependency injection system.
Generate an OpenAPI specification and a Swagger page directly from your code.
Roles and Permissions
Control routes access with static roles or dynamic permissions.
Create scripts to be run from the command line with argument validation.
File Upload and Storage
Validate uploaded files and save them in local or in the Cloud (AWS S3).
Simple and Intuitive
In Foal, you only manage three concepts: controllers, services and hooks.
Complexity and unnecessary abstractions are set aside so that you spend more time coding rather than reading the documentation.
No steep learning curve or over-engineering here.
Foal leverages TypeScript to improve the overall quality of your code and detect most of your careless errors during compilation. The language also gives you autocompletion and a well-documented API.