A full-stack note-taking application built with React and Node.js, featuring user authentication and real-time note management.
- User authentication with JWT
- Create, read, update, and delete notes
- Markdown support with syntax highlighting
- Color customization for notes
- Secure API with bcrypt password hashing
- Node.js with Express
- MongoDB with Mongoose
- JWT authentication
- bcrypt for password hashing
- React 18
- React Router for navigation
- Axios for API requests
- React Markdown with syntax highlighting
- Sass for styling
- Node.js (v14 or higher)
- MongoDB instance
- npm or yarn
- Clone the repository
git clone <repository-url>
cd note.me- Install server dependencies
npm install- Install client dependencies
cd client
npm install
cd ..- Configure environment variables
Create a .env file in the root directory:
PORT=4000
MONGODB_URI=<your-mongodb-connection-string>
JWT_SECRET=<your-jwt-secret>
CORS_ORIGIN=http://localhost:3000
Start the backend server:
npm startStart the frontend client (in a separate terminal):
cd client
npm startThe API will be available at http://localhost:4000 and the client at http://localhost:3000.
POST /auth/register- Register a new userPOST /auth/login- Login userPOST /auth/logout- Logout user
GET /note- Get all notes for authenticated userPOST /note- Create a new notePUT /note/:id- Update a noteDELETE /note/:id- Delete a note
ISC

