A full-stack web application for creating, managing, and organizing notes with user authentication.
- User authentication (Signup/Login)
- Create, read, update, and delete notes (CRUD functionality)
- Organized note management with categories/tags
- Responsive and modern UI
- Secure backend API with JWT authentication
- React.js
- Tailwind CSS
- Node.js
- Express.js
- MongoDB (Mongoose for database management)
- JSON Web Token (JWT) for authentication
Ensure you have the following installed:
- Node.js
- MongoDB (or MongoDB Atlas for a cloud database)
- Git
git clone https://github.com/boussas/notes-app.git
cd notes-app
cd backend
npm install
cd ../frontend
npm install
Create a .env
file in the backend
directory and add:
PORT=8145
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
Open two terminals and execute the following:
Backend:
cd backend
node server
Frontend:
cd frontend
npm run dev
Endpoint | Method | Description |
---|---|---|
/api/users/signup |
POST | Register a new user |
/api/users/login |
POST | Authenticate and log in a user |
Endpoint | Method | Description |
---|---|---|
/api/notes |
GET | Fetch all notes |
/api/notes |
POST | Create a new note |
/api/notes/:id |
DELETE | Delete a note |
/api/notes/:id |
PATCH | Update an existing note |
/api/notes/togglePin/:id |
PATCH | Toggle pin status of a note |