This is a Next.js project bootstrapped with create-next-app.
Getting Started
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devAnonymous Messenger
Anonymity in communication empowers users to express themselves freely and honestly without the pressure of identity. This application provides a secure and straightforward platform for sending and receiving messages while completely preserving sender anonymity.
What it Does
Anonymous Messenger is a web-based application designed for private, one-way communication. Users can send messages to a specific recipient using a unique user ID, ensuring that the sender's identity remains hidden from the recipient. This fosters environments where candid feedback, personal reflections, or sensitive information can be shared safely.
Problem Solved
In many social and professional contexts, the fear of judgment or retaliation can prevent individuals from speaking their minds openly. Anonymous Messenger addresses this by:
- Facilitating Honest Feedback: Enables individuals to provide unvarnished opinions or constructive criticism without revealing their identity.
- Reducing Social Pressure: Allows users to communicate sensitive topics or express vulnerabilities without the anxiety associated with self-identification.
- Promoting Candid Dialogue: Creates a safe space for discussions that might otherwise be inhibited by personal biases or hierarchies.
Key Features
- Complete Anonymity: Senders' identities are never revealed to recipients.
- Targeted Messaging: Messages are sent to specific users via their unique, publicly shareable ID.
- Simple Interface: An intuitive and easy-to-use platform for sending and receiving anonymous communications.
Getting Started
To get a local copy up and running for development purposes, follow these steps.
Prerequisites
Ensure you have Node.js and npm (or yarn, pnpm, bun) installed on your machine.
Installation
- Clone the repository:
git clone https://github.com/your-username/Anonymous-Messenger.git cd Anonymous-Messenger - Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
Running the Development Server
- Start the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev - Open your browser and navigate to
http://localhost:3000to see the application in action.
You can begin editing the application by modifying app/page.tsx. Pages auto-update as you edit the file.
Usage
- Obtain a User ID: Each user will have a unique ID. Share this ID with those from whom you wish to receive anonymous messages.
- Send a Message: To send an anonymous message, enter the recipient's unique User ID and your message into the designated fields. The system ensures your identity is protected.
- Receive Messages: Navigate to your personal inbox or designated area within the application to view messages sent to your User ID.
Technologies Used
- Framework: Next.js - React framework for building full-stack web applications.
- Core Libraries:
- Authentication:
- @clerk/nextjs - Authentication and user management for Next.js applications.
- next-auth - Flexible authentication for Next.js applications.
- bcryptjs - Library for hashing passwords.
- Database:
- UI Components & Styling:
- Radix UI - Headless UI components for building high-quality accessible design systems.
- Tailwind CSS - Utility-first CSS framework.
- shadcn/ui (Implied by Radix UI and Tailwind) - Collection of re-usable components.
- class-variance-authority - Utility for composing Tailwind CSS classes.
- clsx & tailwind-merge - Utilities for conditionally combining and merging CSS class strings.
- lucide-react - A beautiful open-source icon library.
- Form Management & Validation:
- React Hook Form - Performant, flexible, and extensible forms with easy-to-use validation.
- Zod - TypeScript-first schema declaration and validation library.
- @hookform/resolvers - Collection of validation resolvers for React Hook Form.
- Email Services:
- Nodemailer - Send emails from Node.js.
- Resend - Email API for developers.
- @react-email/components & @react-email/render - React components for building and rendering emails.
- 3D Graphics & Visualization:
- @react-three/fiber - React renderer for Three.js.
- @react-three/drei - A collection of useful helpers and abstractions for react-three-fiber.
- Three.js - JavaScript 3D library.
- three-globe - A globe visualization library based on Three.js.
- AI Integration:
- Date & Time Utilities:
- Animation:
- Framer Motion - A production-ready motion library for React.
- Carousel:
- Embla Carousel - A lightweight, dependency-free, and flexible carousel library.
- Other UI/UX:
- Sonner - An opinionated toast component for React.
- Vaul - Unstyled, accessible, and customizable dialogs for React.
- input-otp - Accessible one-time password input component.
- react-resizable-panels - Resizable panel components.
- usehooks-ts - A collection of useful React hooks.
Learn More
For more details on the underlying framework, refer to the Next.js resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
Contributing
Contributions are welcome! If you have suggestions for improving this project, please open an issue or submit a pull request.
License
Distributed under the MIT License. See LICENSE for more information.