Skip to content

Repository files navigation

Real Feedback

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.

πŸš€ Features

  • 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.

πŸ› οΈ Tech Stack

πŸ“ Design Documentation

For a detailed overview of the system architecture, including High-Level Design (HLD), Low-Level Design (LLD), please refer to the Design Documentation.

🏁 Getting Started

Follow these steps to set up the project locally on your machine.

Prerequisites

  • Node.js (v18 or later)
  • npm, yarn, or pnpm
  • MongoDB Database (Local or Atlas)

Installation

  1. Clone the repository

    git clone https://github.com/lav1shkumar/real-feedback.git
    cd real-feedback
  2. Install dependencies

    npm install
    # or
    yarn install
    # or
    pnpm install
  3. Set up Environment Variables

    Create a .env file 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
  4. Run the development server

    npm run dev
    # or
    yarn dev
    # or
    pnpm dev
  5. Open the app

    Visit http://localhost:3000 in your browser.

πŸ“‚ Project Structure

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)

πŸš€ Deployment

The application is deployed on Vercel, the platform for frontend developers.

To deploy your own version:

  1. Push your code to a Git repository (GitHub, GitLab, Bitbucket).
  2. Import your project into Vercel.
  3. Add the environment variables in the Vercel dashboard.
  4. Click Deploy.

About

An anonymous messaging platform with AI-powered suggestions built with Next.js 14.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages