Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django Notes App

A clean and maintainable Notes application built with Django using Class-Based Views (CBVs) and modern Django development practices.


✨ Features

  • Create new notes
  • Browse all notes
  • View note details
  • Update existing notes
  • Delete notes with confirmation
  • Search notes by title
  • Automatic timestamps ("created_at" / "updated_at")
  • Form validation with Django "ModelForm"
  • Secure forms using CSRF protection
  • Clean architecture based on Django CBVs

🛠️ Tech Stack

  • Python 3
  • Django
  • SQLite
  • HTML5
  • Django Template Language (DTL)

📂 Project Structure

notes-app/ ├── config/ ├── notes/ │ ├── migrations/ │ ├── templates/ │ │ └── notes/ │ ├── templatetags/ │ ├── forms.py │ ├── models.py │ ├── urls.py │ └── views.py ├── manage.py ├── requirements.txt └── README.md


📌 Implemented Features

CRUD Operations

  • ✅ CreateView
  • ✅ ListView
  • ✅ DetailView
  • ✅ UpdateView
  • ✅ DeleteView

Search

Search notes by title using Django ORM filtering.

Forms

  • Django ModelForm
  • Custom widgets
  • Placeholder support
  • Built-in validation

Security

  • CSRF Protection
  • Safe Delete Confirmation
  • Django Form Validation

🚀 Getting Started

Clone the repository

git clone https://github.com//notes-app.git

Create a virtual environment

python -m venv .venv

Activate the virtual environment

Windows

.venv\Scripts\activate

Linux / macOS

source .venv/bin/activate

Install dependencies

pip install -r requirements.txt

Apply migrations

python manage.py migrate

Run the development server

python manage.py runserver


🎯 Learning Goals

This project is designed to practice and understand:

  • Django Models
  • Django ORM
  • Class-Based Views
  • ModelForms
  • URL Routing
  • Template Inheritance
  • CRUD Operations
  • Search Functionality
  • Git & GitHub Workflow

🔮 Future Improvements

  • User Authentication
  • Bootstrap UI
  • Pagination
  • Categories & Tags
  • Rich Text Editor
  • REST API (Django REST Framework)
  • Docker Support
  • Automated Testing
  • Deployment

📄 License

This project is created for learning purposes and is open for educational use.

About

A Django-based Notes application built to practice clean architecture, ORM, Class-Based Views, Forms, and CRUD operations.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages