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.
- 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)
python --version
# or
python3 --versionPython 3.8+ is required.
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\activatepip install -r requirements.txtcd sticky_projectpython manage.py makemigrations
python manage.py migratepython manage.py createsuperuserpython manage.py runserverOpen: http://127.0.0.1:8000/
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 | 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) |
- Backend: Python 3.x, Django 4.x
- Database: SQLite3
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Authentication: Django built-in auth system