Full-stack application with secure authentication and seamless user experience.
Project-Link: https://mern-gamma-lemon.vercel.app/login
- Email/OTP Login: Secure authentication with one-time passwords
- Google OAuth: Sign in with Google account integration
- JWT Protection: Secure token-based authentication
- Input Validation: Comprehensive form validation and error handling
- Create Notes: Add new notes with title and content
- Delete Notes: Remove notes with confirmation
- Real-time Updates: Instant UI updates for all operations
- User-specific Data: Notes are private to each user
- Mobile Responsive: Works seamlessly on all devices
- Modern UI: Clean and intuitive user interface
- Error Handling: User-friendly error messages
- Loading States: Smooth loading indicators
- React.js - Component-based UI library
- Tailwind CSS - Utility-first CSS framework
- React Router - Client-side routing
- Axios - HTTP client for API calls
- Lucide React - Modern icon library
- Context API - State management
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database
- Mongoose - MongoDB object modeling
- JWT - JSON Web Tokens for authentication
- Nodemailer - Email sending functionality
- bcryptjs - Password hashing
- CORS - Cross-origin resource sharing
- POST /api/auth/request-otp - Request OTP for email
- POST /api/auth/verify-otp - Verify OTP and login
- POST /api/auth/google - Google OAuth authentication
- GET /api/notes - Get all user notes
- POST /api/notes - Create a new note
- DELETE /api/notes/:id - Delete a note
- Sign Up/Login: Use email/OTP or Google authentication
- Create Notes: Click "Create note" button and add content
- Manage Notes: View all your notes in the dashboard
- Delete Notes: Click trash icon to remove notes
- Responsive Design: Use on mobile, tablet, or desktop
Fully responsive design that works on:
- 📱 Mobile phones (320px+)
- 📟 Tablets (768px+)
- 💻 Desktops (1024px+)
- JWT token authentication
- Input validation and sanitization
- CORS protection
- Environment variable protection
- Secure password hashing
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
Happy Coding! 📝✨