Skip to content

Dragonroost is an animal shelter / rescue management applicaiton, written in Python with Django and htmx.

License

Notifications You must be signed in to change notification settings

leethobbit/dragonroost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dragonroost Logo

Self-hosted Animal Rescue/Shelter Management Software, written in Python with Django and htmx.



Built with Cookiecutter Django Ruff

License: MIT

Screenshots (current as of December 2024)

Dragonroost Homepage Dragonroost Animal Detail Page Dragonroost Species List Page

Roadmap

Dragonroost is under heavy development - expect bugs and half-written features. For a general idea of what is available or planned, please check out the roadmap.

Getting Started

Until a proper, simplified deployment is ready, you can use the following to get started testing this application:

  • Ensure Docker Desktop and git are installed on your system.
  • Clone the repository with git clone https://github.com/leethobbit/dragonroost.git and change directories to the newly created folder from the clone command.
  • Build the local dev images with docker-compose -f docker-compose.local.yml build
  • Start the local dev images with docker-compose -f docker-compose.local.yml up -d

This project was built with cookiecutter-django, for more information you can view their documentation

Settings

Moved to settings.

Basic Commands

Setting Up Your Users

  • To create a normal user account, just go to Sign Up and fill out the form. Once you submit it, you'll see a "Verify Your E-mail Address" page. Go to your console to see a simulated email verification message. Copy the link into your browser. Now the user's email should be verified and ready to go.

  • To create a superuser account, use this command:

    python manage.py createsuperuser
    

For convenience, you can keep your normal user logged in on Chrome and your superuser logged in on Firefox (or similar), so that you can see how the site behaves for both kinds of users.

Type checks

Running type checks with mypy:

mypy dragonroost

Test coverage

To run the tests, check your test coverage, and generate an HTML coverage report:

coverage run -m pytest
coverage html
open htmlcov/index.html

Running tests with pytest

pytest

Live reloading and Sass CSS compilation

Moved to Live reloading and SASS compilation.

Deployment

The following details how to deploy this application.

Docker

See detailed cookiecutter-django Docker documentation.

Attributions

Favicon created by max.icons - Flaticon