Skip to content

About

Full-stack Django web application for managing personal notes with user authentication and persistent storage.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Sticky Notes App — Django Assignment

Web Engineering Assignment #2 — NUCES

A full-featured personal sticky notes web application built with Django. Users can register, log in, and manage their own private collection of colorful notes.


Features

  • User Registration and Login/Logout
  • Create, Edit, Delete notes
  • Color-coded sticky notes (color picker)
  • Pin important notes to the top
  • Search notes by title or content
  • Character counter on note content
  • Responsive design
  • Each user only sees their own notes (private)

Setup Instructions

Step 1 — Check Python

python --version
# or
python3 --version

Python 3.8+ is required.


Step 2 — Create Virtual Environment (Recommended)

A virtual environment keeps dependencies isolated per project.

# create virtual environment
python3 -m venv .venv

# activate on Linux/Mac
source .venv/bin/activate

# activate on Windows
.venv\Scripts\activate

Step 3 — Install Dependencies

pip install -r requirements.txt

Step 4 — Go to Project Folder

cd sticky_project

Step 5 — Apply Migrations

python manage.py makemigrations
python manage.py migrate

Step 6 — Create Superuser (Optional)

python manage.py createsuperuser

Step 7 — Run Development Server

python manage.py runserver

Open: http://127.0.0.1:8000/


Project Structure

sticky_project/
├── manage.py
├── requirements.txt
├── db.sqlite3
├── sticky_project/
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── notes/
    ├── models.py
    ├── views.py
    ├── forms.py
    ├── urls.py
    ├── admin.py
    ├── migrations/
    └── templates/
        └── notes/
            ├── base.html
            ├── note_list.html
            ├── note_form.html
            ├── note_confirm_delete.html
            ├── login.html
            └── register.html

URL Routes

URL Page Login Required?
/ Redirect to notes Yes
/notes/ All notes list Yes
/notes/new/ Create new note Yes
/notes/<id>/edit/ Edit a note Yes
/notes/<id>/delete/ Delete a note Yes
/login/ Login page No
/logout/ Logout (POST) No
/register/ Register page No
/admin/ Django admin panel Yes (superuser)

Tech Stack

  • Backend: Python 3.x, Django 4.x
  • Database: SQLite3
  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • Authentication: Django built-in auth system

About

Full-stack Django web application for managing personal notes with user authentication and persistent storage.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages