HogMini is a lightweight, production-grade feature flag engine with percentage rollouts and user targeting.
This repository is a multi-package workspace containing:
hogmini-frontend: Next.js app for authentication, organizations, projects, and feature flag managementhogmini-backend: Express + Prisma API for auth, org/project management, and flag evaluation endpointshogmini-node: TypeScript Node package (currently build-focused)
.
├─ hogmini-backend/
├─ hogmini-frontend/
└─ hogmini-node/
- Frontend: Next.js (App Router), React, TypeScript, Tailwind CSS, Radix UI
- Backend: Express, TypeScript, Prisma ORM, PostgreSQL, Passport, JWT
- Tooling: TypeScript, tsx, ESLint, Prisma
- Email/password and social auth flows
- Organization and project management
- Feature flag CRUD and toggle endpoints
- SDK-friendly flag retrieval endpoint (
/sdk/rules) - Waitlist support in frontend API routes
- Node.js 20+
- npm 10+
- PostgreSQL
- Clone and enter the repository.
git clone git@github.com:ezeigboemmanuel/HogMini.git
cd HogMini- Install dependencies in each package.
cd hogmini-backend && npm install
cd ../hogmini-frontend && npm install
cd ../hogmini-node && npm install
cd ..- Create environment files.
Backend (hogmini-backend/.env) suggested variables:
DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/hogmini
JWT_SECRET=change_me
FRONTEND_URL=http://localhost:3000
BACKEND_URL=http://localhost:3001
NODE_ENV=development
# Optional email + OAuth
RESEND_API_KEY=
FROM_EMAIL=onboarding@resend.dev
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=Frontend (hogmini-frontend/.env.local) suggested variables:
NEXT_PUBLIC_BACKEND_URL=http://localhost:3001
BACKEND_URL=http://localhost:3001
WAITLIST_DATABASE_URL=postgresql://USER:PASSWORD@localhost:5432/hogmini_waitlist
NEXT_PUBLIC_GITHUB_URL=https://github.com/<your-org-or-user>/HogMini
NEXT_PUBLIC_X_URL=https://x.com/hogminidotcom- Run Prisma migrations/generate for backend.
cd hogmini-backend
npx prisma migrate dev
npx prisma generate
cd ..- Start the apps.
Terminal 1:
cd hogmini-backend
npm run devTerminal 2:
cd hogmini-frontend
npm run devOptional (build Node package):
cd hogmini-node
npm run build- Open the app.
- Frontend: http://localhost:3000
- Backend health: http://localhost:3001/health
npm run dev: run backend in watch mode
npm run dev: run frontendnpm run build: production buildnpm run start: run production buildnpm run lint: lint source
npm run build: compile TypeScript todist
Backend currently exposes routes under:
/api/auth/api/organizations/api/projects/sdk/rules/flagsand/flags/:id
Contributions are welcome.
- Fork the repo
- Create a feature branch
- Make focused changes with clear commit messages
- Open a pull request with context and testing notes
Please do not commit real secrets. Use local .env files and rotate credentials if exposed.
This project is licensed under the MIT License. See LICENSE.