A Next.js platform where users can create posts/questions/opinions and share a unique link to gather honest and anonymous feedback. The platform utilizes analytics powered by OpenAI models to provide insights on feedback, enabling users to make informed decisions based on true, unbiased responses.
Warning This app is a work in progress. I'm building this in public.
- Post Creation: Users can log in and create posts or questions.
- Shareable Link: Generate unique links for each post to share with others.
- Anonymous Feedback: Anyone with the link can submit feedback anonymously without the need to log in.
- Interactive Engagement: Posts can be liked, disliked, and receive feedback displayed in a comments section.
- Feedback Analytics: Leverage OpenAI models to analyze feedback and provide actionable insights.
- Modern UI: Built using shadcn/ui for a clean and responsive user experience.
- Frontend - Backend: Next.js, TypeScript, Tailwind
- Authentication: NextAuth.js
- Database: MongoDB
- Email Service: Render.com
- UI Components: shadcn/ui
- AI Integration: OpenAI API
1. Clone the repository:
git clone https://github.com/Mohammad-Muzaffar/anonymous-feedback.git
2. Navigate to the project directory:
cd anonymous-feedback
3. Install dependencies:
npm install
4. Create a Docker volume: (Only required during initial setup)
sudo docker volume create mongodb_data
5. Start MongoDB in a Docker container:
sudo docker run -d -e MONGO_INITDB_ROOT_USERNAME=mongoadmin -e MONGO_INITDB_ROOT_PASSWORD=mongopasswd -v mongodb_data:/data/db -p 27017:27017 mongo
6. Set up environment variables:
Create a .env
file in the root directory and populate it using .env.example
use your own API_KEY's
:
cp .env.example .env
7. Run the development server:
npm run dev
8. Access the app:
Open localhost tab in your browser.
We welcome contributions to make Anonymous Feedback even better! Here's how you can contribute:
-
Fork the repository: Click the "Fork" button on the top-right corner of the repository page.
-
Clone your forked repository: Download the repository to your local machine.
-
Create a new branch: Use a descriptive branch name for your feature or fix.
-
Implement changes: Ensure your code is clean, well-documented, and follows the project's guidelines.
-
Test your changes: Verify that everything works as expected and does not break existing functionality.
-
Commit your changes: Write clear and concise commit messages to explain your modifications.
-
Push to your branch: Upload your changes to your forked repository.
-
Submit a Pull Request: Navigate to the original repository, create a "New Pull Request," and provide a detailed description of your changes.
For questions, suggestions, or discussions, feel free to reach out!
- GitHub Issues: Create an Issue on the repository page.
- Email: [email protected]
We extend our gratitude to the following individuals for their inspiration and guidance:
- Hitesh Choudhary for the idea.
- Harkirat Singh for motivation.
This project is maintained and developed by: