Documentation Overview
A comprehensive guide to JopiJS architecture and features, following the official roadmap.
🏗️ Architecture & Features
This overview follows the official structure of the JopiJS documentation. Use these sections to navigate through the framework's core concepts and advanced features.
🚥 Getting Started
Introduction
Start here to understand the core philosophy and the "Zero-Configuration" approach of JopiJS.
JopiJS vs NextJS
A detailed comparison for developers coming from Next.js, highlighting the differences in routing and module systems.
💎 The Basics
New Project
Initialize your first JopiJS workspace in seconds using the CLI.
Routing & Pages
Master the file-system routing for both UI pages and layouts.
API Endpoints
Create powerful server-side logic using the integrated API route system.
Isomorphic Components
Write components that run seamlessly on both the server and the browser.
🚀 Advanced Features
Isomorphism
Deep dive into how JopiJS handles shared code between server and client.
Tailwind & ShadCN
Leverage modern styling with pre-configured Tailwind CSS and ShadCN UI components.
Translations (i18n)
Implement type-safe internationalization with automatic key generation.
🧩 The Module System
Module Architecture
Learn how to encapsulate logic, routes, and resources into reusable modules.
The Priority System
The core of JopiJS flexibility: Override any part of another module without changing its source code.
Event Listeners
Decouple your modules using the internal event bus for cross-module communication.
🔐 Users & Security
Authentication
Secure your application with built-in JWT authentication and session management.
Access Control
Implement Role-Based Access Control (RBAC) using simple .cond marker files.
⚡ Performance & Cache
The Cache Engine
Optimize your application with automatic HTML and Data caching strategies.
Hook the Page Cache
Deep dive into the HTML caching lifecycle: control, modify, or bypass it programmatically.
Isomorphic Data Cache
Implement background data refreshing (SWR) and automatic merging for dynamic content.