Skip to content

XanderSteyn/HyperionDev.Sticky-Notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Sticky Notes - Django Sticky Notes Application

Features

  • Create Notes: Add new sticky notes with title and content
  • View Notes: List and review saved notes in a clean, sorted view
  • Edit Notes: Modify existing notes with pre-filled forms and validations
  • Delete Notes: Safely remove notes with a confirmation prompt
  • User Friendly: Intuitive design, built-in error handling, and seamless navigation
  • Well Tested: Includes automated unit and integration test coverage
  • Clear Architecture: RESTful URLs, structured app design, and supporting design diagrams
  • Admin Interface: Manage notes through Django's built-in admin at /admin/ (after creating a superuser)

Technologies Used

  • Python – Core programming language
  • Django – Web framework for rapid, secure development
  • SQLite – Default development database (easy setup, portable)
  • HTML5 & CSS3 – Markup and styling for modern, responsive UI
  • Bootstrap & Font Awesome – UI components and icons (included via CDN links in base template)
  • Django Test Framework (unittest) – Automated unit and integration testing

Setup Instructions

1. Clone the repository

git clone https://github.com/XanderSteyn/HyperionDev.Sticky-Notes/

2. Change to the project directory

cd "HyperionDev.Sticky-Notes"

3. Create a virtual environment

  • Windows:
    python -m venv venv
    
  • macOS/Linux:
    python3 -m venv venv
    

4. Activate the virtual environment

  • Windows (Command Prompt):
    .\venv\Scripts\activate.bat
    
  • Windows (PowerShell):
    .\venv\Scripts\Activate.ps1
    
  • macOS/Linux:
    source ./venv/bin/activate
    

5. Install dependencies

pip install -r requirements.txt

6. Apply migrations

python manage.py migrate

7. Create superuser

python manage.py createsuperuser

8. Run the development server

python manage.py runserver

9. Access the app

Open your browser and go to http://127.0.0.1:8000/

10. Access the Django Admin Interface

After creating a superuser, you can manage notes through the Django admin panel:

Open your browser and go to http://127.0.0.1:8000/admin/
Log in with your superuser credentials.

Running Tests

To run the full test suite and ensure everything works as expected:

python manage.py test notes

To run a specific test file, use the following command format:

  • Models Tests:

    python manage.py test notes.tests.test_models
    
  • Views Tests:

    python manage.py test notes.tests.test_views
    
  • Templates Tests:

    python manage.py test notes.tests.test_templates
    
  • Admin Tests:

    python manage.py test notes.tests.test_admin
    
  • Edge Cases Tests:

    python manage.py test notes.tests.test_edge_cases
    
  • URLs Tests:

    python manage.py test notes.tests.test_urls
    

Unit tests can be found within the notes app directory (notes/tests), following Django best practices.

License

This repository is protected by a custom license. See the LICENSE file for details.

Unauthorized copying or submission of this work for academic purposes is prohibited.

About

Sticky notes web application with CRUD, admin panel, and tests ~ build in Python/Django

Topics

Resources

License

Stars

Watchers

Forks