The Fastify-based server that powers Boxedo, handling JSX rendering, API endpoints, and database interactions.
- Server-side JSX rendering with Kitajs/html
- Database support for PouchDB/CouchDB and LevelDB
- Full-text search with SQLite FTS5
- Security features including CSRF protection, input sanitization, and Helmet
- File uploads with image processing via Sharp
- Email notifications with Nodemailer
- Framework: Fastify with TypeScript
- Rendering: Server-side JSX
- Database: PouchDB (with CouchDB or LevelDB adapters)
- Search: SQLite FTS5
- Styling: TailwindCSS with DaisyUI
- Validation: JSON Schema with AJV
The server is built and managed by the hawk.ts build tool. Key dependencies:
fastify- Web framework@kitajs/html- JSX renderingpouchdb-*- Database adaptersbetter-sqlite3- Search indexingsharp- Image processing
Server configuration is handled via environment variables defined in .env. See the main documentation for setup details.