A modern, full-stack notes application with user authentication and CRUD operations.
This is a secure notes management application that allows users to create, read, update, and delete personal notes. Each user has their own private space where only they can access their notes.
✅ User Authentication - Secure JWT-based authentication
✅ Create Notes - Add new notes with title and content
✅ Edit Notes - Update existing notes
✅ Delete Notes - Remove unwanted notes
✅ User-specific - Each user only sees their own notes
✅ Auto Token Refresh - Seamless session management
✅ Modern UI - Clean, responsive interface
✅ Real-time Updates - Instant note updates without page refresh
Backend:
- Django 5.1
- Django REST Framework
- JWT Authentication
- PostgreSQL/SQLite
Frontend:
- React 18
- Vite
- React Router
- Axios
- Python 3.8+
- Node.js 16+
- Clone the repository
git clone <your-repo-url>
cd Notes-app- Backend Setup
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver- Frontend Setup (in a new terminal)
cd frontend
npm install
npm run dev- Access the App
- Frontend: http://localhost:5173
- Backend: http://127.0.0.1:8000
📖 For detailed setup instructions, see SETUP.md
Notes-app/
├── backend/ # Django backend
│ ├── api/ # API app
│ ├── backend/ # Django project settings
│ ├── manage.py
│ └── requirements.txt
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── styles/ # CSS files
│ │ └── api.js # API configuration
│ └── package.json
└── README.md
- Register: Create a new account at
/register - Login: Sign in with your credentials at
/login - Create: Add notes with title and content
- Edit: Click "Edit" on any note to update it
- Delete: Click "Delete" to remove a note
- Logout: Click "Logout" to end your session
POST /api/user/register/- Register new userPOST /api/token/- LoginPOST /api/token/refresh/- Refresh tokenGET /api/notes/- Get all notesPOST /api/notes/- Create notePUT /api/notes/update/<id>/- Update noteDELETE /api/notes/delete/<id>/- Delete note
Feel free to submit issues and enhancement requests!
MIT License