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