Overview
Discover what makes Para powerful
**Para** is a Java‑centric, multitenant backend framework designed to abstract away the repetitive plumbing of data persistence, search indexing, and caching. It exposes a fully RESTful JSON API that is *stateless* by construction—every request carries authentication (JWT) and signature validation (Amazon Signature V4), allowing it to be consumed by web, mobile, IoT or game clients without any server‑side session management. The core idea is to treat every application as an isolated tenant: each tenant owns its own tables, indexes, and cache instances while sharing the same runtime.
Database‑agnostic persistence
Full‑text search
Distributed cache
Fine‑grained security
Overview
Para is a Java‑centric, multitenant backend framework designed to abstract away the repetitive plumbing of data persistence, search indexing, and caching. It exposes a fully RESTful JSON API that is stateless by construction—every request carries authentication (JWT) and signature validation (Amazon Signature V4), allowing it to be consumed by web, mobile, IoT or game clients without any server‑side session management. The core idea is to treat every application as an isolated tenant: each tenant owns its own tables, indexes, and cache instances while sharing the same runtime.
Key Features
- Database‑agnostic persistence – Para’s
DAOlayer is pluggable; it can talk to DynamoDB, Cassandra, MongoDB, or any JDBC‑compliant relational store. - Full‑text search – Optional integration with Lucene or Elasticsearch; the framework automatically syncs persisted objects to the chosen search index.
- Distributed cache – Hazelcast or Caffeine backends are supported; caching is per‑tenant and can be toggled on a per‑object basis.
- Fine‑grained security – Built on Spring Security, Para supports LDAP, SAML, social logins, CSRF protection, and a lightweight permission model that can be applied at the resource level.
- Webhooks & signed payloads – External services can be notified of CRUD events; the framework guarantees integrity by signing all webhook payloads.
- Metrics & diagnostics – Dropwizard metrics are exposed for health checks, latency, and usage analytics.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | Java 17+, Spring Framework (Core, Security) |
| Dependency Injection | Google Guice |
| Persistence | Custom DAO abstraction, Hibernate Validator (JSR‑303) |
| Search | Lucene or Elasticsearch client |
| Cache | Hazelcast (distributed) / Caffeine (local) |
| API Gateway | Embedded Jetty server, Jersey/JAX‑RS for REST endpoints |
| Serialization | Jackson (advanced custom serializers) |
| Auth & Signing | Amazon Signature V4, JWT (Nimbus JOSE + JWT) |
| Metrics | Dropwizard |
| Packaging | Standalone executable JAR, Docker image (erudikaltd/para) |
Core Capabilities
- Tenant Isolation – Each tenant’s data lives in its own namespace; the framework automatically prefixes table/index names.
- Optimistic Locking & Transactions – DAO implementations expose native transaction support where available (e.g., DynamoDB transactions, MongoDB sessions).
- Constraint Validation – Leveraging Hibernate Validator, Para validates incoming JSON against annotated POJOs before persistence.
- Dynamic Serialization – Custom serializers can be registered via Guice modules, enabling polymorphic type handling or field masking.
- Plugin Architecture – New persistence providers, search engines, or authentication mechanisms can be added as Guice modules without touching core code.
Deployment & Infrastructure
Para is self‑hosted and can run on any JVM‑capable host. The official Docker image simplifies deployment:
- Containerization – A single
paracontainer exposes port 8080; environment variables configure tenant secrets, database endpoints, and cache settings. - Scalability – Stateless API nodes can be horizontally scaled behind a load balancer; the distributed cache (Hazelcast) and database layer provide data replication.
- High Availability – By running multiple API instances with a shared cache cluster and database, Para can tolerate node failures without downtime.
- Observability – Dropwizard’s
/metricsendpoint integrates with Prometheus or Grafana dashboards.
Integration & Extensibility
- Webhooks – Developers can register callback URLs; Para signs the payload and verifies signatures on receipt.
- SDKs – While not bundled, Para’s REST contract is fully compatible with any HTTP client; auto‑generated OpenAPI specs can be used to create language‑specific SDKs.
- Custom Modules – Through Guice, developers can inject bespoke
DAOimplementations, authentication providers (e.g., OAuth2), or monitoring agents. - Event Bus – An internal event system allows listeners to react to CRUD events, enabling real‑time analytics or audit logging.
Developer Experience
- Configuration – Most settings are externalized in
application.ymlor Docker env vars; defaults cover a typical local dev stack. - Documentation – The GitHub repo hosts comprehensive README, API reference, and a blog series that walks through typical use cases.
- Community – Active Gitter channel and issue tracker; the core team maintains rapid release cycles.
- Testing – Extensive unit and integration tests use an in‑memory H2 database, ensuring reliability before deployment.
Use Cases
- Mobile Backend – Quickly spin up a tenant‑isolated API for an Android/iOS app, leveraging DynamoDB and Elasticsearch.
- IoT Platform – Persist sensor data in a time‑series friendly store, index by tags, and expose secure REST endpoints for device telemetry.
- Prototyping – Developers can launch a full backend with minimal code, focusing on UI/UX while Para handles persistence and auth.
- Microservice Orchestration – Use Para as a shared data layer for multiple microservices, sharing the same tenant schema but operating independently.
Advantages
- Performance – Native support for high‑through
Open SourceReady to get started?
Join the community and start self-hosting Para today
Related Apps in development-tools
Hoppscotch
Fast, lightweight API development tool
code-server
Self-hosted development-tools
AppFlowy
AI-powered workspace for notes, projects, and wikis
Appwrite
All-in-one backend platform for modern apps
PocketBase
Lightweight Go backend in a single file
Gitea
Fast, lightweight self-hosted Git platform
Weekly Views
Repository Health
Information
Explore More Apps
TimeTagger
Tag your time, get the insight
Chevereto
Self‑hosted image and video sharing platform
Papermerge
Secure, searchable document management for scanned files
Live Helper Chat
Free, enterprise‑grade live support for websites
Baby Buddy
Track baby milestones, sleep, feedings, and more to predict needs
FreshRSS
Self-hosted RSS & Atom aggregator