Skip to content

AmulyaJain2004/Notes-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes App 📝

A modern, full-stack notes application with user authentication and CRUD operations.

Overview

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.

Key Features

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

Tech Stack

Backend:

  • Django 5.1
  • Django REST Framework
  • JWT Authentication
  • PostgreSQL/SQLite

Frontend:

  • React 18
  • Vite
  • React Router
  • Axios

Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 16+

Installation

  1. Clone the repository
git clone <your-repo-url>
cd Notes-app
  1. 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
  1. Frontend Setup (in a new terminal)
cd frontend
npm install
npm run dev
  1. Access the App

📖 For detailed setup instructions, see SETUP.md

Project Structure

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

Usage

  1. Register: Create a new account at /register
  2. Login: Sign in with your credentials at /login
  3. Create: Add notes with title and content
  4. Edit: Click "Edit" on any note to update it
  5. Delete: Click "Delete" to remove a note
  6. Logout: Click "Logout" to end your session

API Endpoints

  • POST /api/user/register/ - Register new user
  • POST /api/token/ - Login
  • POST /api/token/refresh/ - Refresh token
  • GET /api/notes/ - Get all notes
  • POST /api/notes/ - Create note
  • PUT /api/notes/update/<id>/ - Update note
  • DELETE /api/notes/delete/<id>/ - Delete note

Contributing

Feel free to submit issues and enhancement requests!

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published