https://github.com/isaqueveras/jangada
Jangada - Full-stack web framework for Golang — Web, Rest, gRPC & modern apps.
https://github.com/isaqueveras/jangada
framework fullstack golang jangada monolith
Last synced: 4 months ago
JSON representation
Jangada - Full-stack web framework for Golang — Web, Rest, gRPC & modern apps.
- Host: GitHub
- URL: https://github.com/isaqueveras/jangada
- Owner: isaqueveras
- License: apache-2.0
- Created: 2025-07-08T20:10:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-29T13:02:21.000Z (6 months ago)
- Last Synced: 2026-01-01T14:47:07.999Z (6 months ago)
- Topics: framework, fullstack, golang, jangada, monolith
- Language: Go
- Homepage:
- Size: 1.16 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pkg.go.dev/github.com/isaqueveras/jangada)
[](LICENSE)
[](https://goreportcard.com/report/github.com/isaqueveras/jangada)
**🛶 Jangada** is a **Go** web framework full stack, designed for productivity and **DDD best practices**.
> Build web apps and APIs quickly with plugins, background jobs, and workflows.

---
## Features
- DDD-based structure: `application`, `domain`, `transport`, `infrastructure` and `tests`
- Background jobs and chained workflows
---
## Install Jangada CLI
```bash
# Install Jangada
go install github.com/isaqueveras/jangada@latest
```
## Create a new app
Create the foundation of an application to build a monolithic or microservice
```bash
$ jangada new commerce
# or configure the base with the flags
$ jangada new commerce --mod=github.com/isaqueveras/commerce --host=localhost:8782 --db=postgres
```
## Create a domain layer
The domain layer is where business rules, entities, repositories, and services should be defined
```bash
$ jangada sail domain crm/customer
```
## Create a application layer
The application layer is where the orchestrators and services that create flows within the system are concentrated
```bash
$ jangada sail application crm/customer
# or create a new service in the application
$ jangada sail application crm/customer --service=GetAllCustomerByName
```
## Create a transport layer
The transport layer is where you control the rest/grpc/web routes that access the application layer
```bash
$ jangada sail transport crm/customer
# or create a new method in the controller
$ jangada sail transport crm/customer --layer=rest --name=GetAllCustomerByName
```
## Create a infrastructure layer
The infrastructure layer is where you implement the repository and external calls, such as database access or HTTP/GRPC requests
```bash
$ jangada sail infrastructure crm/customer
```