Skip to content

Latest commit

History

48 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Minisource Feedback

Multi-tenant feedback and feature request management platform. Enables users to submit feedback, vote on features, and track product improvements.

Repository Structure

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)

Projects

Backend (API Server)

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 run

See backend/README.md for detailed documentation.

User Portal (Frontend)

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 dev

Admin Dashboard (Planned)

Administration dashboard for managing feedback and moderation.

  • Status: 🚧 Not yet implemented
  • Planned Tech: Next.js, React Admin

Quick Start

With Docker Compose

Images are published to Docker Hub on every successful build to main.

ImageTags
minisource/feedback-backendlatest, commit SHA
minisource/feedback-userlatest, 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 -d

GitHub Actions secrets

  • DOCKERHUB_USERNAME — Docker Hub username
  • DOCKERHUB_TOKEN — Docker Hub access token

Development Setup

# 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

Architecture

┌─────────────────────────────────────────────────────────┐
│ User Portal (:3002) │
│ (Next.js) │
└─────────────────────────┬───────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────┐
│ Feedback Backend (:5012) │
│ (Go + Fiber) │
├─────────────────────────────────────────────────────────┤
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Feedback │ │ Voting │ │Category │ │Moderate │ │
│ │ CRUD │ │ System │ │ Mgmt │ │ Queue │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────┬───────────────────────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│ MongoDB │ │ Auth │ │ Notifier │
│ │ │ Service │ │ Service │
└───────────┘ └───────────┘ └───────────┘

Features

User Features

  • Submit feedback with categories
  • Vote on feedback (upvote/downvote)
  • Subscribe to feedback updates
  • View public roadmap
  • Comment on feedback

Admin Features

  • Moderate feedback submissions
  • Manage categories
  • Official responses
  • Analytics dashboard
  • Export functionality

API Overview

EndpointMethodDescription
/api/v1/feedbackGETList feedback
/api/v1/feedbackPOSTCreate feedback
/api/v1/feedback/:idGETGet feedback
/api/v1/feedback/:id/votePOSTVote on feedback
/api/v1/feedback/:id/subscribePOSTSubscribe
/api/v1/categoriesGETList categories
/api/v1/admin/moderatePOSTModerate feedback

Configuration

Backend Environment Variables

VariableDescription
MONGODB_URIMongoDB connection string
AUTH_URLAuth service URL
NOTIFIER_URLNotifier service URL
SERVER_PORTAPI server port (5012)

User Portal Environment Variables

VariableDescription
NEXT_PUBLIC_API_URLBackend API URL
NEXT_PUBLIC_AUTH_URLAuth service URL

Development

Prerequisites

  • Go 1.24+ (for backend)
  • Node.js 20+ (for frontends)
  • MongoDB 7+
  • Docker & Docker Compose

Running Tests

# Backend testscd backend
make test# User portal testscd user
npm test

License

MIT

About

Feedback collection and survey backend for user insights

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages