kevinbowen777 / django-todo

A todo list using Django web framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

django-todo

Status GitHub Issues License Coverage

  • A simple todo application made using the Django 5.0.x web framework
Table of Contents

Features

  • Application

    • Allow multiple users to logon, create, update and edit their own lists
    • User registration with email verification & social(GitHub) login using django-allauth
    • Bootstrap4 & crispy-forms decorations
    • Customizable user profile pages with bio, profile pic, & country flags
    • For additional links to package resources used in this repository, see the Package Index
  • Dev/testing

  • run command menu

    (adapted from Nick Janetakis' helpful docker-django-example)

    You can run ./run to get a list of commands and each command has documentation in the run file itself. This comes in handy to run various Docker commands because sometimes these commands can be a bit long to type.

    If you get tired of typing ./run you can always create a shell alias with alias run=./run in your ~/.bash_aliases or equivalent file. Then you'll be able to run run instead of ./run.


Installation

  • git clone https://github.com/kevinbowen777/djangdo.git
  • cd djangdo
  • Local installation:
    • poetry shell
    • poetry install
    • python manage.py migrate
    • python manage.py createsuperuser
    • python manage.py runserver
  • Docker installation:
    • docker compose up --build
    • docker compose exec web python manage.py migrate
    • docker compose exec web python manage.py createsuperuser Additional commands:
      • docker compose exec web python manage.py shell_plus (loads Django shell autoloading project models & classes)
      • docker run -it django-start-web bash (CLI access to container)
  • Browse to http://127.0.0.1:8000 or http://127.0.0.1:8000/resources/

Testing

  • docker compose exec web python manage.py test
  • coverage run -m pytest
  • Nox (includes sessions for black, docs, lint, typing, safety, tests)
    • testing supported for Python 3.10, 3.11, 3.12
    • e.g. nox, nox -rs lint-3.11, nox -s tests
      • nox -s black-3.12
      • nox -s docs-3.11
      • nox -rs lint-3.10 (Use the 'r' flag to reuse existing session)
      • nox -s pyright-3.11
      • nox -s safety (will run tests against all Python versions)
      • nox -s tests

Application Demo

A live application demonstration:

TBD


Screenshots

Home page

Home Page

Task Lists

Task Lists

Task items

Task Items

Add new items

Add new items

Profile page

Profile page


Reporting Bugs

Visit the Issues page to view currently open bug reports or open a new issue.

About

A todo list using Django web framework

License:MIT License


Languages

Language:JavaScript 48.7%Language:CSS 33.7%Language:Python 10.0%Language:HTML 5.1%Language:Shell 2.1%Language:Dockerfile 0.4%Language:Procfile 0.0%