⚠️ Work In Progress — Contributions welcome!
- 🧱 Backend: AdonisJS + Inertia.js
- ⚛️ Frontend: React
- 📦 DB: PostgreSQL
- 🧠 SQL builder: Kysely
- 🔐 Auth: Session-based
- 🏢 Multi-tenant - Workspace: via PostgreSQL RLS
- 🗂️ File storage: MinIO (S3-compatible)
- 🏛️ Architecture: Hexagonal (ports & adapters)
- 🧪 Tests first: All logic is tested
- Basic project structure
- Hexagonal layout (use-cases, interfaces)
- Multi-tenant - Workspace switching
- Auth with session
- Base CRUD with use-cases
- Replace Lucid ORM with Kysely
- PostgreSQL setup with RLS
- File uploads via MinIO
- Unit + Integration test setup
This boilerplate is open to discussion and evolution. Feel free to:
- Create issues
- Submit PRs
- Suggest improvements
- Storybook
- Add Docker setup
- CI/CD pipeline examples
- Deployment strategy with Docker Swarm for high availability and scalability
- PostgreSQL management:
- backups
- Point-In-Time Recovery (PITR) setup for disaster recovery
- Replication
- supervision / monitoring
- Prometheus
- Grafana
- Sentry
- Mailing
- Production: generic SMTP
- Development: MailHog
- Features planned:
- User role, group, permission - Signup
- Password reset
- Email verification
- invitations
- impersonate
- audit event support
Coming soon
MIT – use it, fork it, improve it.