A privacy-focused disposable email service built with Next.js and Express.js that enables users to generate temporary email addresses for protecting their primary inbox from spam.
- Instant Generation: Create disposable emails in one click
- Real-time Delivery: Receive emails instantly via WebSocket connections
- Zero Registration: Complete anonymity with no account creation required
- Auto-Expiry: Automatic cleanup prevents long-term data retention
- Mobile-First: Responsive design optimized for all devices
- Next.js 14 (App Router)
- Tailwind CSS + shadcn/ui components
- Zustand for state management
- Socket.IO client for real-time updates
- Express.js with TypeScript
- Redis for data storage
- Socket.IO for WebSocket connections
- Winston for logging
- Node.js 18+
- Docker and Docker Compose
-
Clone and install dependencies:
# Install frontend dependencies cd frontend npm install # Install backend dependencies cd ../backend npm install
-
Start Redis with Docker:
# From project root docker-compose -f docker-compose.dev.yml up -d -
Start the backend:
cd backend npm run dev -
Start the frontend:
cd frontend npm run dev -
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
# Start everything with Docker
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose downPOST /api/v1/address- Generate new disposable emailGET /api/v1/address/{address}/info- Get address informationDELETE /api/v1/address/{address}- Delete address
GET /api/v1/inbox/{address}- Get messages for addressGET /api/v1/inbox/{address}/messages/{messageId}- Get specific messageDELETE /api/v1/inbox/{address}/messages/{messageId}- Delete message
GET /api/health- Health checkGET /api/stats- Basic statistics
PORT=3001
NODE_ENV=development
REDIS_URL=redis://localhost:6379
FRONTEND_URL=http://localhost:3000
EMAIL_DOMAIN=inboxghost.com
LOG_LEVEL=info
NEXT_PUBLIC_API_URL=http://localhost:3001/api/v1
NEXT_PUBLIC_WS_URL=http://localhost:3001
├── frontend/ # Next.js frontend application
├── backend/ # Express.js backend API
├── docker-compose.yml # Production Docker setup
├── docker-compose.dev.yml # Development Docker setup
└── README.md
Frontend:
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production server
Backend:
npm run dev- Start development server with hot reloadnpm run build- Build TypeScript to JavaScriptnpm run start- Start production server
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file for details