Feedback Hub is an interactive, responsive customer satisfaction rating and analytics dashboard built with modern React. It provides businesses and creators with an intuitive interface to collect instant user sentiment across positive π, neutral π, and critical π categories while calculating real-time satisfaction ratios and key performance indicators π. The application features a sleek dark-mode glassmorphic interface, smooth micro-animations β¨, accessible landmarks, and instant feedback computation β‘.
- βοΈ Framework & Core: React 18.3 (Hooks, Strict Mode), React DOM
- β‘ Bundler & Tooling: Create React App (
react-scripts5.x) - π¨ Styling: Scoped CSS Modules, Vanilla CSS Design System with custom CSS variables & glassmorphism
- π€ Typography & Icons: Inter (Google Fonts), custom minimalist vector icon system
- π§Ή Code Quality: ESLint (
react-app), Prettier - π CI/CD & Deployment: GitHub Actions with automatic deployment to GitHub Pages
Ensure you have the following installed on your machine before running the application:
- π’ Node.js:
v20.0.0or higher (LTS recommended, tested with Node v20 & v24) - π¦ npm:
v10.0.0or higher (bundled with Node.js) - π Git: Latest version
Follow these steps to set up and run the project locally:
git clone https://github.com/iberikofer/react-feedback-page.git
cd react-feedback-pageCopy the sample environment file to create your local .env:
# On Linux / macOS
cp .env.example .env
# On Windows PowerShell
Copy-Item .env.example .envInstall the required project dependencies:
npm installLaunch the local development server:
npm run dev
# or
npm startOpen your browser and navigate to http://localhost:3000 to interact with the
application.
To compile and bundle optimized production assets:
npm run buildProduction assets are generated in the /build directory.
Run the code quality linter:
npm run lint
# Auto-fix lintable issues
npm run lint:fixThe project includes pre-configured environment parameters. Variables accessible
to React client code must begin with the REACT_APP_ prefix.
| π·οΈ Variable Name | π Required | βοΈ Default Value | π Description |
|---|---|---|---|
REACT_APP_TITLE |
No | Feedback Hub |
Custom header and application name |
REACT_APP_DESCRIPTION |
No | Interactive customer feedback rating... |
Application description for meta tags |
PUBLIC_URL |
No | https://iberikofer.github.io/react-feedback-page/ |
Base deployment path on GitHub Pages |
react-feedback-page/
βββ .github/
β βββ workflows/
β βββ deploy.yml # π GitHub Actions CI/CD deployment pipeline
βββ public/
β βββ favicon.ico # πΌοΈ Browser favicon icon
β βββ index.html # π HTML5 entry document with font preconnect
βββ src/
β βββ components/
β β βββ App.jsx # π± Root application component with state & layout
β β βββ App.module.css # π¨ Scoped layout, header, card, and footer styles
β β βββ index.js # π¦ Barrel export module
β β βββ FeedbackOptions/
β β β βββ FeedbackOptions.jsx # π Interactive rating button group
β β β βββ FeedbackOptions.module.css # β¨ Button variants & hover micro-interactions
β β βββ Notification/
β β β βββ Notification.jsx # π Empty-state feedback notification
β β β βββ Notification.module.css # π« Notification styling & fade animation
β β βββ Section/
β β β βββ Section.jsx # π Semantic HTML5 section landmark
β β β βββ Section.module.css # π Section heading & container styles
β β βββ Statistics/
β β βββ Statistics.jsx # π Sentiment progress gauge & metric cards
β β βββ Statistics.module.css # π Dynamic satisfaction bar & KPI grid
β βββ index.css # π¨ Design system tokens, variables & dark mode reset
β βββ index.js # β‘ React 18 createRoot application bootstrap
βββ .editorconfig # π Cross-editor formatting standardization
βββ .env.example # π Sample environment configuration
βββ .gitignore # π Comprehensive stack-specific ignore rules
βββ .prettierrc.json # π
Prettier code formatting rules
βββ jsconfig.json # πΊοΈ JavaScript path mapping configuration
βββ package.json # π Project dependencies, scripts & metadata
βββ README.md # π Project documentation
Contributions, issues, and feature requests are welcome!
- π΄ Fork the Project.
- πΏ Create your Feature Branch (
git checkout -b feature/AmazingFeature). - πΎ Commit your Changes (
git commit -m 'Add some AmazingFeature'). - π€ Push to the Branch (
git push origin feature/AmazingFeature). - π Open a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.