A lightweight utility library for building microservices in Clojure with Swagger-based API-first design and built-in components.
Friboo is a utility library for building microservices in Clojure that follows an API-first approach using Swagger specifications. It provides pre-built components for HTTP serving, database access, metrics, and authentication, reducing the boilerplate code needed to create production-ready services. The library integrates with the Component lifecycle framework to manage dependencies and configuration systematically.
Clojure developers building RESTful microservices, especially teams adopting API-first design and needing standardized components for configuration, database access, and monitoring.
Developers choose Friboo for its opinionated yet flexible structure, built-in support for Swagger-based API design, and comprehensive components that handle common microservice concerns like authentication, metrics, and database migrations out of the box.
Utility library for writing microservices in Clojure, with support for Swagger and OAuth
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Encourages defining REST APIs in Swagger YAML before implementation, using swagger1st for routing, which ensures consistency and portability across services.
Provides ready-to-use components for HTTP serving, database access with Flyway migrations, and Dropwizard metrics, reducing boilerplate and integrating best practices.
Aggregates configuration from environment variables, JVM properties, and files with namespacing, adhering to 12-factor app principles for microservices.
Facilitates reloaded workflow with hot-reload capabilities for configuration and components, enabling iterative development in the REPL.
Focused solely on REST APIs via Swagger, with no built-in components for real-time communication, GraphQL, or other modern protocols.
Heavily tied to Zalando's extensions like friboo-ext-zalando for production use, which may limit community-driven growth and flexibility.
The namespaced configuration system, while powerful, adds overhead and a learning curve that can be excessive for simpler microservices.