Skip to main content

Full-featured Node.js framework

Simple and easy to use - TypeScript-based - Well-documented

Get startedJoin the chat

Sponsored by

Linito

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.

›

CLI

Build and run your app in development and in production. Generate files.

›

ORM

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.

›

Swagger Generation

Generate an OpenAPI specification and a Swagger page directly from your code.

›

Roles and Permissions

Control routes access with static roles or dynamic permissions.

›

Shell Scripts

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.

TypeScript

Robust Language

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.