Skip to content

Latest commit

Β 

History

History
117 lines (87 loc) Β· 2.95 KB

File metadata and controls

117 lines (87 loc) Β· 2.95 KB

SyncNote

React Node.js Express MongoDB CSS Vercel Render

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.


πŸš€ Features

  • 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.

πŸ›  Tech Stack

Frontend (client): React (Vite), CSS, Axios
Backend (server): Node.js, Express.js, MongoDB, JWT Authentication
Database: MongoDB Atlas
Deployment: Vercel (frontend), Render/Railway (backend)


Project Structure

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


βš™οΈ Installation

1. Clone the Repository

git clone https://github.com/your-username/syncnote.git
cd syncnote

2. Project Setup Guide

a. Backend Setup (server)

cd server
npm install

b. .env file setup (server)

MONGO_URI=your_mongodb_atlas_url
JWT_SECRET=your_secret_key
PORT=5000

c. Run backend

nodemon app.js

d. Frontend Setup

npm install

e. Run frontend

npm run dev