🚀 Note-App is a full-stack web application that allows users to securely create, manage, and organize their notes. Built with a Node.js + Express + MongoDB backend and a React + TypeScript frontend, it provides a modern and responsive user experience. The app features user authentication (JWT & OAuth), CRUD functionality for notes, and email integration via SendGrid.
Designed with scalability and maintainability in mind, this project follows a clean architecture and leverages TypeScript for type safety on both client and server sides.
✨ Key Highlights
🔐 Secure authentication system
📝 Full CRUD operations for notes
📧 Email support (password recovery/notifications)
⚡ High-performance frontend with Vite
🎨 Responsive UI with reusable React components
- 🔐 Secure User Authentication (JWT + OAuth redirect)
- 🗒️ Notes CRUD functionality
- 💾 MongoDB Database Integration
- 🛡️ Middleware-protected routes
- 📧 Email notifications with Nodemailer
- 🎨 Responsive React UI with Vite
Project-Demo : https://note-app-assignment-mern-1.onrender.com/
- Node.js + Express.js
- TypeScript
- MongoDB (Mongoose)
- JWT Authentication & Oauth(google Authentication)
- SendGrid
- React.js (with TypeScript)
- Vite (Build tool)
- Axios (API handling)
- TailwindCSS
To run this project, you will need to add the following environment variables to your .env file
MONGO_URI = //Your mongo URI
PORT=
SENDGRID_API_KEY = // Your sendgrid_API_KEY
SMTP_FROM = /Your smtp from mail address
GOOGLE_CLIENT_ID =// your GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET = //Your
GOOGLE_CLIENT_SECRET
BACKEND_ROOT = //Backend_URL
FRONTEND_ROOT= //Frontend_URL
BACKEND_ROOT = //Backend_URL
Clone the project
git clone https://github.com/Shaan-77/Note-App_Assignment-MERNGo to the Backend directory
cd BackendInstall dependencies
npm installStart the server
npm run devGo to the Frontend directory
cd FrontendInstall dependencies
npm installStart the server
npm run devcd Note-App/Backendnpm installnpm run build npm run startcd Note-App/Frontendnpm installnpm run build This project is created for internship and educational purposes.