MyNotes is a full-stack note-taking application built with React + Vite (frontend) and Express + MongoDB (backend).
It provides secure authentication using JWT (JSON Web Token) and allows users to create, view, edit, and delete notes in a simple, responsive UI.
Frontend
- ⚛️ React (with Vite for fast development)
- 🎨 Tailwind CSS (for modern styling)
- 🛣 React Router DOM (for navigation)
- 🔐 Context API (for auth & notes state management)
- 🔄 Axios (API requests)
Backend
- 🌐 Node.js + Express
- 🗄 MongoDB (Atlas) with Mongoose
- 🔑 JWT Authentication
- 🛡 CORS middleware
- 🔐 JWT Authentication (Login & Register with token-based security)
- 📝 Create, Read, Update, Delete (CRUD) Notes
- 👤 Protected Routes (only authenticated users can access notes)
- ⚡ Fast API integration with Axios
- 🎨 Responsive UI with Tailwind CSS
- 🛠 Context API for managing Auth and Notes globally
- 🚪 Logout functionality (clears token & context state)
my-notes/
│
├── server/ # Express + MongoDB backend
│ ├── models/ # Mongoose schemas
│ ├── routes/ # Auth & Notes routes
│ ├── middleware/ # JWT auth middleware
│ └── server.js
│
├── client/ # React + Vite frontend
│ ├── src/
│ │ ├── components/ # Navbar, NoteCard, etc.
│ │ ├── context/ # AuthContext, NotesContext
│ │ ├── pages/ # Notes, Login, Register, etc.
│ │ └── App.jsx
│ └── index.html
│
└── README.mdgit clone https://github.com/Shashank-TS/MyNotes.gitcd server
npm install- PORT=5000
- MONGO_URI=your_mongodb_connection
- JWT_SECRET=your_jwt_secret
npm run devcd client
npm install- VITE_BACKEND_URI = http://localhost:5000
npm run dev- Frontend → http://localhost:4000
- Backend → http://localhost:5000