A full-stack Note-Taking Web Application built using the MERN Stack with user authentication.
Users can securely register, log in, and manage their personal notes.
- User Registration
- User Login
- Secure Authentication
- Logout
- Protected Routes
- User-specific notes
- Create notes
- View notes
- Edit notes
- Delete notes
- Manage personal notes
- Clean and simple UI
- Responsive design
- Easy navigation
- User-friendly interface
- React.js
- React Router
- Axios
- Tailwind CSS
- React Icons
- React-Redux
- Node.js
- Express.js
- MongoDB
- Mongoose
- JSON Web Token (JWT)
- bcryptjs
- Protected API Routes
e-commerce/
│
├── frontend/
│ ├── public/
│ └── src/
│ ├── components/
│ ├── store/
│ ├── assets/
│ ├── App.jsx
│ └── main.jsx
│
├── backend/
│ ├── config/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ ├── utils/
│ ├── app.js
│ └── index.js
│
├── imgs/
└── README.md
git clone https://github.com/sachinwebdev369/note-app.git
cd note-appcd note-server
npm installCreate a .env file:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secretStart the backend:
node index.jsor:
npm startOpen a new terminal:
cd note-client
npm install
npm run dev| Function | Description |
|---|---|
| Register | Create a new user account |
| Login | Authenticate an existing user |
| Logout | Sign out from the application |
| Create Note | Create a new personal note |
| Read Note | View saved notes |
| Update Note | Edit an existing note |
| Delete Note | Delete a note |
The application includes:
- Password hashing using bcryptjs
- JWT-based authentication
- Protected API routes
- User-specific notes
- Environment variables for sensitive information
The main purpose of this project is to build a practical full-stack application using the MERN stack while implementing user authentication and CRUD functionality.
This project demonstrates how a React frontend communicates with a Node.js and Express.js backend and how MongoDB is used to store application data.









