Skip to content

ujjwalgaekwad/mystery-message

Repository files navigation

🕵️‍♂️ Mystery Message

Mystery Message is an anonymous messaging platform built with Next.js, offering secure user authentication, OTP-based email verification, and AI-powered message suggestions via Gemini API. Users receive anonymous feedback through a unique public link and manage messages in a streamlined dashboard.

Features

  • Secure User Authentication

    • Sign-up, Sign-in with email verification (OTP)
    • Authentication handled via NextAuth.js
    • Email delivery via Resend
  • Anonymous Messaging

    • Users receive messages via public URLs (like Ask.fm)
    • Option to toggle message acceptance
  • AI-Powered Suggestions

    • AI-generated message suggestions using Gemini API
    • Streaming handled with Vercel’s AI SDK
  • User Dashboard

    • Manage anonymous messages (view/delete)
    • Control message acceptance toggle
  • Robust Form Handling

    • Form validation with Zod
    • Form state with React Hook Form
    • Debounced username uniqueness checks
  • MongoDB Integration

    • Data models with Mongoose
    • Aggregation pipeline to group and sort messages
  • Modern UI/UX

    • Built using ShadCN UI components
    • Styled with Tailwind CSS
    • Carousel for displaying messages

Tech Stack

Frontend

  • Next.js (App Router)
  • React Hook Form + Zod
  • ShadCN UI + Tailwind CSS
  • Axios, Sonner, Lucide Icons
  • Debounce hook for throttled input

Backend

  • Next.js API Routes
  • NextAuth.js for authentication
  • MongoDB + Mongoose for database
  • Bcrypt.js for password hashing
  • Resend for sending emails
  • Gemini API + Vercel AI SDK for AI integration

Installation & Setup

Prerequisites

  • Node.js v18+
  • MongoDB Atlas or local MongoDB
  • Resend account (for emails)

Installation

Clone the Repository

git clone https://github.com/your-username/mystery-message.git
cd mystery-message

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published