A full-stack cloud-based note-taking application with secure authentication, protected routes, and a modern dashboard. SyncNote allows users to create, edit, delete, and organize notes seamlessly across devices.
- Authentication – Signup/Login with JWT tokens.
- Protected Routes – Only authenticated users can access notes.
- Notes CRUD – Add, edit, delete, and view notes.
- Categories – Organize notes into categories.
- Cloud Storage – MongoDB Atlas ensures persistence.
- Contact Form – Messages stored in DB with backend handling.
- Responsive UI – Built with plain CSS.
Frontend (client): React (Vite), CSS, Axios
Backend (server): Node.js, Express.js, MongoDB, JWT Authentication
Database: MongoDB Atlas
Deployment: Vercel (frontend), Render/Railway (backend)
SyncNote/
│
├── client/
│ ├── public/
│ ├── src/
│ │ ├── assets/
│ │ ├── components/
│ │ ├── App.jsx
│ │ ├── main.jsx
│ │ └── App.css
│ ├── index.html
│ ├── vite.config.js
│ ├── package.json
│ └── vercel.json
│
├── server/
│ ├── controllers/
│ │ ├── authController.js
│ │ ├── contactController.js
│ │ └── noteController.js
│ ├── middleware/
│ │ └── authMiddleware.js
│ ├── models/
│ │ ├── Contact.js
│ │ ├── Note.js
│ │ └── User.js
│ ├── routes/
│ │ ├── authRoute.js
│ │ ├── contactRoutes.js
│ │ └── noteRoute.js
│ ├── app.js
│ ├── package.json
│ └── LICENSE
│
├── .gitignore
└── README.md
git clone https://github.com/your-username/syncnote.git
cd syncnotecd server
npm install
MONGO_URI=your_mongodb_atlas_url
JWT_SECRET=your_secret_key
PORT=5000
nodemon app.jsnpm installnpm run dev