MCPSERV.CLUB
Para

Para

Self-Hosted

Scalable multitenant backend for mobile and web apps

Active(95)
555stars
0views
Updated 22 hours ago

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 DAO layer 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

LayerTechnology
RuntimeJava 17+, Spring Framework (Core, Security)
Dependency InjectionGoogle Guice
PersistenceCustom DAO abstraction, Hibernate Validator (JSR‑303)
SearchLucene or Elasticsearch client
CacheHazelcast (distributed) / Caffeine (local)
API GatewayEmbedded Jetty server, Jersey/JAX‑RS for REST endpoints
SerializationJackson (advanced custom serializers)
Auth & SigningAmazon Signature V4, JWT (Nimbus JOSE + JWT)
MetricsDropwizard
PackagingStandalone 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 para container 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 /metrics endpoint 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 DAO implementations, 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.yml or 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

  1. Mobile Backend – Quickly spin up a tenant‑isolated API for an Android/iOS app, leveraging DynamoDB and Elasticsearch.
  2. IoT Platform – Persist sensor data in a time‑series friendly store, index by tags, and expose secure REST endpoints for device telemetry.
  3. Prototyping – Developers can launch a full backend with minimal code, focusing on UI/UX while Para handles persistence and auth.
  4. 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

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
APACHE-2.0
Stars
555
Technical Specs
Pricing
Open Source
Database
Multiple
Docker
Official
Supported OS
LinuxDocker
Author
Erudika
Erudika
Last Updated
22 hours ago