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-appcd backend
npm installcd ../frontend
npm installCreate a .env file in the backend directory and add:
PORT=8145
MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_keyOpen two terminals and execute the following:
Backend:
cd backend
node serverFrontend:
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 |