A powerful tool for collecting and analyzing product feedback from your users!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Open Response is a comprehensive feedback collection tool designed to help product teams gather, analyze, and act on user feedback. Whether you're launching a new feature or improving an existing product, Open Response provides the insights you need to make data-driven decisions.
Here's why Open Response stands out:
- Real-time Feedback Collection: Capture user responses instantly through customizable forms and surveys
- Advanced Analytics: Gain actionable insights with powerful data visualization and sentiment analysis
- Easy Integration: Seamlessly integrate with your existing product workflow and tools
- User-Friendly Interface: Both administrators and respondents enjoy a clean, intuitive experience
Open Response eliminates the complexity of traditional feedback systems while providing enterprise-level features for teams of all sizes.
Open Response is built using modern, reliable technologies to ensure performance and scalability:
Getting Open Response up and running is straightforward. Follow these steps to set up the feedback collection system for your product.
Before installing Open Response, ensure you have the following:
For the Backend:
- Python (v3.9 or higher)
- uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh - PostgreSQL database
For the Frontend:
- Node.js (v16 or higher)
npm install npm@latest -g
Follow these steps to install and configure Open Response:
Note: For a more detailed setup guide, see backend.md
- Clone the repository
git clone https://github.com/okotdaniel/open-response.git
- Navigate to the backend directory
cd open-response/backend - Create and activate virtual environment with uv
uv venv source .venv/bin/activate # On macOS/Linux
- Install Python dependencies
uv pip install -r requirements.txt
- Set up your environment variables in
.envDATABASE_URL=postgresql://username:password@localhost:5432/openresponse SECRET_KEY=your_secret_key DEBUG=True ALLOWED_HOSTS=localhost,127.0.0.1
- Run database migrations
python manage.py migrate
- Create a superuser (optional)
python manage.py createsuperuser
- Start the Django development server
python manage.py runserver
Note: For a more detailed setup guide, see frontend.md
- Navigate to the frontend directory
cd open-response/frontend - Install Node.js dependencies
npm install
- Set up your environment variables in
.env.localNEXT_PUBLIC_API_URL=http://localhost:8000/api NEXT_PUBLIC_SITE_URL=http://localhost:3000
- Start the Next.js development server
npm run dev
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/api
- Django Admin: http://localhost:8000/admin
Open Response can be used in various scenarios to collect valuable product feedback:
Creating Feedback Forms: Design custom forms tailored to your specific feedback needs
Embedding Surveys: Integrate feedback widgets directly into your product interface
Analyzing Responses: Use built-in analytics to identify trends and insights
Managing Feedback Campaigns: Organize and track multiple feedback initiatives
For detailed examples and API documentation, please refer to the Documentation
- Core feedback collection system
- Basic analytics dashboard
- Email notifications
- Advanced sentiment analysis
- Integration with popular project management tools
- Mobile app for feedback management
- Multi-language Support
- Spanish
- French
- German
- AI-powered feedback categorization
- Advanced reporting and export features
See the open issues for a full list of proposed features and known issues.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- 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
Distributed under the Unlicense License. See LICENSE.txt for more information.
Daniel Okot - @okotdaniel - daniel@openresponse.com
Project Link: https://github.com/okotdaniel/open-response
We'd like to thank the following resources and communities that made Open Response possible: