Skip to content

Doralitze/hagrid

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hagrid

This is a software for merchandise sale at Chaos Communication Congress.

Features

  • Configure Products (Hoodie, Shirt, Zipper, ...) in various sizes (Fitted M, Unisex 5XL, ...).
  • Display product availability in a public dashboard.
  • Allow teams to apply for and edit their reservations.
  • Let c3foc manage reservations.

Design principles

  • All Functionality should not require javascript to be enabled in the user's browser. Javascript is used for bootstrap's responsive menus on small screens and for some cosmetics.

Setup

For now, this is a pretty standard Django Application developed with python3.7. Use pip install -U -r requirements.txt (in a seperate python environment/virtualenv) to install the dependencies.

Development

Setting up hagrid for local development is simple.

  1. Run ./manage.py migrate to setup a test database.
  2. Run ./manage.py createsuperuser to setup a default admin user.
  3. Run ./manage.py runserver to start the local development server.

Production

Make sure to adjust the following settings in a local_settings.py for use in production.

  • ALLOWED_HOSTS
  • DEBUG (should be False)
  • SECRET_KEY (should be random and secret)
  • SITE_URL (URL for building absolute links)
  • MEDIA_ROOT (where to put user-uploaded content)
  • DATABASES

See the Django Docs or the comments in settings.py on what these do.

Run python3 manage.py migrate to initialize the database.

Run python3 manage.py collectstatic to collect all static files into the static.dist folder, from where all files under /static/ should be served from. Also, everything under /media/ should point to the MEDIA_ROOT you configured. You probably want to use a webserver and uwsgi or something similar for the setup.

All configuration/management views are only visible to logged in superusers. Using ./manage.py createsuperuser, create a new superuser and login on the webpage.

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 66.1%
  • Python 26.7%
  • HTML 7.2%