A full-stack web application built with the MERN stack that allows users to send and receive anonymous messages. Users can create profiles, manage their message preferences, and interact through anonymous messaging.
- Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
- Backend: Next.js API Routes
- Database: MongoDB with Mongoose ODM
- Validation: Zod for schema validation
- Development: Turbopack for faster builds
src/
├── model/
│ └── user.ts # User and Message MongoDB models
└── Schemas/
├── acceptMessageSchema.ts # Schema for message acceptance settings
├── messagesSchema.ts # Schema for message validation
├── signInSchema.ts # Schema for user sign-in
├── signUpSchema.ts # Schema for user registration
└── verifySchema.ts # Schema for email verification
- User Model: Complete user schema with authentication fields
- Username, email, password management
- Email verification system with expiry
- Message acceptance preferences
- Embedded messages array
- Message Model: Schema for anonymous messages with timestamps
- Validation Schemas: Zod schemas for form validation (structure ready)
- MongoDB integration with Mongoose
- User model with message embedding
- Email validation and verification system
- Unique constraints for username and email
- Node.js 18+
- MongoDB database
- npm/yarn/pnpm
- Clone the repository:
git clone https://github.com/abhiii9vvv/MysteryMessage.git
cd MysteryMessage- Install dependencies:
npm install- Set up environment variables:
# Create .env.local file with:
MONGODB_URI=your_mongodb_connection_string
NEXTAUTH_SECRET=your_nextauth_secret- Run the development server:
npm run devOpen http://localhost:3000 to view the application.
- Authentication system implementation
- User registration and login pages
- Message sending/receiving functionality
- User dashboard
- Message management interface
- Email verification system
- API routes for CRUD operations
- Implement authentication with NextAuth.js
- Create user registration and login forms
- Build message sending/receiving API endpoints
- Design and implement user interface
- Add email verification functionality
- Implement message management features
npm run dev # Start development server with Turbopack
npm run build # Build for production with Turbopack
npm run start # Start production server
npm run lint # Run ESLint- ✅ Project setup and configuration
- ✅ MongoDB models and schemas
- ✅ TypeScript configuration
- ✅ Validation schemas structure
- 🔄 Authentication system (in progress)
- ⏳ Frontend UI/UX
- ⏳ API endpoints
- ⏳ Email verification
This project is currently in development. Feel free to contribute by:
- Forking the repository
- Creating a feature branch
- Making your changes
- Submitting a pull request
This project is private and currently under development.