0.1.2 • Published 4 months ago
feedback-pro v0.1.2
Feedback Pro
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.
🚀 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 :
Option | Type | Défaut | Description |
---|---|---|---|
projectId | string | Requis | L'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 |
apiUrl | string | "https://api.exemple.com" | URL de l'API pour les requêtes |
userId | string | undefined | ID de l'utilisateur connecté (optionnel) |
primaryColor | string | "#3b82f6" | Couleur principale du widget |
companyName | string | undefined | Nom de votre entreprise |
onSubmit | function | undefined | Callback appelé après soumission d'un feedback |
onOpen | function | undefined | Callback appelé à l'ouverture du widget |
onClose | function | undefined | Callback 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 projetPOST /api/feedback
- Créer un nouveau feedbackPOST /api/feedback/vote
- Voter pour un feedbackPOST /api/feedback/comments
- Ajouter un commentaire
💻 Développement
Pour contribuer au projet ou le modifier selon vos besoins :
Clonez le dépôt :
git clone https://github.com/manuB3/feedback.git cd feedback
Installez les dépendances :
pnpm install
Configurez les variables d'environnement :
- Copiez le fichier
.env.example
vers.env
- Mettez à jour les variables (notamment DATABASE_URL)
- Copiez le fichier
Générez le client Prisma :
npx prisma generate
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.