Blogu is an experiment in pairing a Hanami 2.3.0.beta2 backend with a TanStack-powered frontend to explore a headless-style blogging engine. The frontend was primarily generated with AI assistance, so treat the UI layer as a prototype and review changes with extra care.
- Hanami 2.3.0.beta2 serving a GraphQL API backed by ROM/Sequel
- React + Vite frontend using TanStack Router/Query for state and navigation
- Lexical provides the rich-text editor experience
- Ruby 3.2.x and Bundler
- Node.js 20+ and npm
- SQLite (default) or another configured database
- Docker (optional, for containerized setup)
To start both the backend and frontend in development mode:
- Install dependencies:
bundle install && cd frontend && npm install && cd .. - Prepare the database:
bundle exec rake db:prepare - Run
bin/devto start the development stack - Visit
http://localhost:5173for the frontend app
- Install dependencies:
bundle install - Prepare the database:
bundle exec rake db:prepare - Start the dev stack:
bin/dev - Visit the API + GraphQL Playground at
http://localhost:2300
cd frontend- Install dependencies:
npm install - Start the Vite dev server:
npm run dev - Open the app at the URL printed by Vite (defaults to
http://localhost:5173), which proxies API requests to the Hanami backend
docker compose up --buildThis brings up both API and frontend containers; browse to http://localhost:2300 to view the app.
- Backend specs:
bundle exec rake - Frontend tests (if added): run
npm testwithinfrontend/