Skip to content

PMPL-Arieken/django-locallibrary-tutorial

 
 

Repository files navigation

Django Local Library - Arieken

Unit Test Dependabot Coverage Quality Gate Status

SonarCloud

Tutorial "Local Library" website written in Django.

For detailed information about this project see the associated MDN tutorial home page.

Overview

This web application creates an online catalog for a small local library, where users can browse available books and manage their accounts.

The main features that have currently been implemented are:

  • There are models for books, book copies, genre, language and authors.
  • Users can view list and detail information for books and authors.
  • Admin users can create and manage models. The admin has been optimised (the basic registration is present in admin.py, but commented out).
  • Librarians can renew reserved books

Local Library Model

Quick Start

To get this project up and running locally on your computer:

  1. Set up the Python development environment. We recommend using a Python virtual environment.
  2. Assuming you have Python setup, run the following commands (if you're on Windows you may use py or py -3 instead of python to start Python):
    pip3 install -r requirements.txt
    python3 manage.py makemigrations
    python3 manage.py migrate
    python3 manage.py collectstatic
    python3 manage.py test # Run the standard tests. These should all pass.
    python3 manage.py createsuperuser # Create a superuser
    python3 manage.py loaddata */fixtures/initial.json
    python3 manage.py runserver
    
  3. Open a browser to http://127.0.0.1:8000/admin/ to open the admin site
  4. Create a few test objects of each type.
  5. Open tab to http://127.0.0.1:8000 to see the main site, with your new objects.

Testing

Unit Test

  python3 manage.py test catalog

Functional Test

  python3 manage.py test functional_tests

Coverage

  coverage run --include="./*" --omit="manage.py,locallibrary/*,venv/*" manage.py test catalog register

To view coverage result, execute the following commands:

  coverage report -m
  coverage html

About

Local Library website written in Django; example for the MDN server-side development Django module: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 85.0%
  • HTML 14.9%
  • CSS 0.1%