0.1.2 • Published 4 months ago

feedback-pro v0.1.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

Feedback Pro

npm version License: MIT

Un système de feedback intégrable moderne et léger pour collecter les retours utilisateurs sur n'importe quel site web ou application. Inspiré par Insigh.to, construit avec Next.js, Prisma et MongoDB.

Feedback Pro Demo

🚀 Fonctionnalités

  • Widget de Feedback Intégrable: Un widget léger qui peut être ajouté à n'importe quel site web
  • API RESTful: Une API complète pour intégrer la collecte de feedback dans n'importe quelle application
  • Tableau de Bord d'Administration: Interface pour gérer et analyser les feedbacks
  • Système de Vote: Permet aux utilisateurs de voter pour les feedbacks les plus importants
  • Commentaires et Discussions: Dialogue constructif autour des suggestions
  • Catégorisation: Organisation des feedbacks par catégories
  • Suivi de Statut: Suivez le progrès des suggestions de la soumission à l'implémentation
  • Votes Anonymes: Support des votes sans authentification
  • Personnalisation: Options de thème et de positionnement

📦 Installation

Via NPM/PNPM/Yarn

# npm
npm install feedback-pro

# pnpm
pnpm add feedback-pro

# yarn
yarn add feedback-pro

Via CDN (Script)

<script src="https://unpkg.com/feedback-pro@0.1.2/dist/feedback-widget.js"></script>

🔌 Utilisation

Dans une application React/Next.js

import { FeedbackWidget } from "feedback-pro";

function App() {
  return (
    <div>
      {/* Votre application */}
      <FeedbackWidget
        projectId="votre-projet-id"
        theme="light"
        position="bottom-right"
      />
    </div>
  );
}

export default App;

Dans un site web standard (sans React)

<script src="https://unpkg.com/feedback-pro@0.1.2/dist/feedback-widget.js"></script>
<script>
  new FeedbackWidget({
    projectId: "votre-projet-id",
    theme: "light",
    position: "bottom-right"
  });
</script>

⚙️ Options de Configuration

Le widget accepte les options suivantes :

OptionTypeDéfautDescription
projectIdstringRequisL'identifiant unique de votre projet
theme"light" | "dark" | "auto""light"Le thème du widget
position"bottom-right" | "bottom-left" | "top-right" | "top-left""bottom-right"Position du widget sur la page
apiUrlstring"https://api.exemple.com"URL de l'API pour les requêtes
userIdstringundefinedID de l'utilisateur connecté (optionnel)
primaryColorstring"#3b82f6"Couleur principale du widget
companyNamestringundefinedNom de votre entreprise
onSubmitfunctionundefinedCallback appelé après soumission d'un feedback
onOpenfunctionundefinedCallback appelé à l'ouverture du widget
onClosefunctionundefinedCallback appelé à la fermeture du widget

🛠️ Technologies

  • Frontend: Next.js 15, React 19, Tailwind CSS
  • Backend: Next.js API Routes
  • Base de Données: PostgreSQL avec Prisma ORM
  • Authentification: NextAuth.js
  • Validation: Zod

🌐 API

Points d'accès principaux

  • GET /api/feedback?projectId=xxx - Récupérer les feedbacks d'un projet
  • POST /api/feedback - Créer un nouveau feedback
  • POST /api/feedback/vote - Voter pour un feedback
  • POST /api/feedback/comments - Ajouter un commentaire

💻 Développement

Pour contribuer au projet ou le modifier selon vos besoins :

  1. Clonez le dépôt :

    git clone https://github.com/manuB3/feedback.git
    cd feedback
  2. Installez les dépendances :

    pnpm install
  3. Configurez les variables d'environnement :

    • Copiez le fichier .env.example vers .env
    • Mettez à jour les variables (notamment DATABASE_URL)
  4. Générez le client Prisma :

    npx prisma generate
  5. Exécutez l'application en mode développement :

    pnpm dev

🏗️ Construction

Pour construire le widget :

# Version standalone (script)
pnpm build:widget

# Version npm (bibliothèque)
pnpm build:lib

📜 Licence

MIT

🤝 Contribution

Les contributions sont les bienvenues ! N'hésitez pas à soumettre une PR ou à ouvrir une issue.

📧 Contact

Pour toute question ou suggestion, contactez-nous à conseilebe@gmail.com.