A lightweight EJS and router engine that runs as a PocketBase JS hook for building fast server-side rendered multi-page apps.
PocketPages is a Multi-Page App (MPA) framework built for PocketBase that provides server-side rendering using EJS templates and a lightweight router. It solves the need for fast, SEO-friendly web applications by integrating directly into PocketBase as a JavaScript hook, allowing developers to write server-rendered pages similar to traditional PHP. The framework focuses on simplicity and performance, rendering pages in under 40ms.
Developers using PocketBase who want to build server-rendered web applications without the complexity of modern SPA frameworks. It's ideal for those who prefer a straightforward, fullstack approach with integrated backend and frontend.
Developers choose PocketPages for its tight integration with PocketBase, eliminating the need for separate backend and frontend setups. Its simplicity and performance, inspired by PHP-style development, allow rapid prototyping and progressive enhancement, making it a practical choice for SEO-focused projects.
Multi Page App (MPA) framework for PocketBase
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Renders pages in under 40ms, as stated in the README, ensuring quick server responses for SEO and user experience without the overhead of complex SSR setups.
Runs as a JS hook within PocketBase, creating a unified development environment where backend and frontend are tightly coupled, eliminating the need for separate server configurations.
Allows writing server-rendered pages like old-school PHP, making it accessible for developers familiar with traditional web development and enabling rapid prototyping, as highlighted in the philosophy.
Generates fully rendered HTML pages server-side, improving search engine optimization without additional tools like SSR or SSG, which is a key feature mentioned in the documentation.
Tightly coupled to PocketBase, meaning it's useless for projects using other backends or databases, severely limiting flexibility and creating vendor lock-in.
Relies on EJS for templating, which lacks modern features like type safety or component reusability found in JSX-based frameworks, and isn't as widely supported in contemporary ecosystems.
Requires installing both Bun and PocketBase, and running multiple processes (e.g., Bun dev and PocketBase serve), which is more cumbersome than single-command starters in other frameworks, as shown in the setup instructions.