Real Feedback is an anonymous messaging platform that enables users to receive honest, constructive feedback from their peers. Built with Next.js 14 and AI-powered by Google's Gemini, it provides a secure and engaging environment for open communication.
- Anonymous Messaging: Users can send messages without revealing their identity, encouraging honest feedback.
- AI-Powered Suggestions: Integrated with Google Gemini AI to suggest conversation starters and constructive feedback messages.
- User Dashboard: A personal dashboard for users to manage their messages and account settings.
- Message Control: Users can toggle their availability to accept or reject new messages.
- Secure Authentication: Robust authentication system using NextAuth.js with email verification.
- Responsive Design: A modern, mobile-first UI built with Tailwind CSS and Radix UI.
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS, Radix UI, Lucide React
- Database: MongoDB (via Mongoose)
- Authentication: NextAuth.js
- AI Integration: Google Generative AI (Gemini)
- Email Service: Resend & React Email
- Form Handling: React Hook Form & Zod
For a detailed overview of the system architecture, including High-Level Design (HLD), Low-Level Design (LLD), please refer to the Design Documentation.
Follow these steps to set up the project locally on your machine.
- Node.js (v18 or later)
- npm, yarn, or pnpm
- MongoDB Database (Local or Atlas)
-
Clone the repository
git clone https://github.com/lav1shkumar/real-feedback.git cd real-feedback -
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up Environment Variables
Create a
.envfile in the root directory and add the following variables:NEXTAUTH_SECRET=your_nextauth_secret MONGODB_URI=your_mongodb_connection_string RESEND_API_KEY=your_resend_api_key GEMINI_API_KEY=your_google_gemini_api_key
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open the app
Visit http://localhost:3000 in your browser.
src/
βββ app/ # Next.js App Router pages and API routes
βββ components/ # Reusable UI components
βββ lib/ # Utility functions and database connection
βββ model/ # Mongoose models (User, Message)
βββ schemas/ # Zod validation schemas
βββ types/ # TypeScript type definitions
βββ helpers/ # Helper functions (e.g., email sending)
The application is deployed on Vercel, the platform for frontend developers.
To deploy your own version:
- Push your code to a Git repository (GitHub, GitLab, Bitbucket).
- Import your project into Vercel.
- Add the environment variables in the Vercel dashboard.
- Click Deploy.