Multi-tenant feedback and feature request management platform. Enables users to submit feedback, vote on features, and track product improvements.
This is a monorepo containing three projects:
feedback/
├── backend/ # Go API server (Fiber + MongoDB)
├── admin/ # Admin dashboard (Planned)
└── user/ # User-facing feedback portal (Next.js)
The backend service provides REST APIs for feedback management.
- Tech Stack: Go 1.24, Fiber v2, MongoDB
- Port: 5012
- Features: Multi-tenant, OAuth2, voting, subscriptions, moderation
cd backend
cp .env.example .env
make runSee backend/README.md for detailed documentation.
User-facing web application for submitting and viewing feedback.
- Tech Stack: Next.js 15, React, TypeScript, Tailwind CSS
- Port: 3002
cd user
cp .env.example .env
npm install
npm run devAdministration dashboard for managing feedback and moderation.
- Status: 🚧 Not yet implemented
- Planned Tech: Next.js, React Admin
Images are published to Docker Hub on every successful build to main.
| Image | Tags |
|---|---|
minisource/feedback-backend | latest, commit SHA |
minisource/feedback-user | latest, commit SHA |
# Production (pre-built images)export TAG=latest
docker compose -f backend/docker-compose.prod.yml up -d
cd user && docker compose up -d
# Local development (build from source)
docker compose -f backend/docker-compose.yml up -dDOCKERHUB_USERNAME— Docker Hub usernameDOCKERHUB_TOKEN— Docker Hub access token
# 1. Start backendcd backend
cp .env.example .env
make docker-up
# 2. Start user portalcd ../user
cp .env.example .env
npm install
npm run dev┌─────────────────────────────────────────────────────────┐
│ User Portal (:3002) │
│ (Next.js) │
└─────────────────────────┬───────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Feedback Backend (:5012) │
│ (Go + Fiber) │
├─────────────────────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Feedback │ │ Voting │ │Category │ │Moderate │ │
│ │ CRUD │ │ System │ │ Mgmt │ │ Queue │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────┬───────────────────────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ MongoDB │ │ Auth │ │ Notifier │
│ │ │ Service │ │ Service │
└───────────┘ └───────────┘ └───────────┘
- Submit feedback with categories
- Vote on feedback (upvote/downvote)
- Subscribe to feedback updates
- View public roadmap
- Comment on feedback
- Moderate feedback submissions
- Manage categories
- Official responses
- Analytics dashboard
- Export functionality
| Endpoint | Method | Description |
|---|---|---|
/api/v1/feedback | GET | List feedback |
/api/v1/feedback | POST | Create feedback |
/api/v1/feedback/:id | GET | Get feedback |
/api/v1/feedback/:id/vote | POST | Vote on feedback |
/api/v1/feedback/:id/subscribe | POST | Subscribe |
/api/v1/categories | GET | List categories |
/api/v1/admin/moderate | POST | Moderate feedback |
| Variable | Description |
|---|---|
MONGODB_URI | MongoDB connection string |
AUTH_URL | Auth service URL |
NOTIFIER_URL | Notifier service URL |
SERVER_PORT | API server port (5012) |
| Variable | Description |
|---|---|
NEXT_PUBLIC_API_URL | Backend API URL |
NEXT_PUBLIC_AUTH_URL | Auth service URL |
- Go 1.24+ (for backend)
- Node.js 20+ (for frontends)
- MongoDB 7+
- Docker & Docker Compose
# Backend testscd backend
make test# User portal testscd user
npm testMIT