Skip to content

Repository files navigation

Ski Admin

State

The app is in a semifunctional state with the following basic features:

  • Associates management
  • Transactions/Articles management
  • Subscriptions management
  • Reports for Associates and Transactions (hardcoded layout) I'm currently rushing to release features for the upcoming Ski season. Polishing and UI refactoing will come next year

Roadmap

Check TODO.md

Purpose / Scopo

This application is designed to manage a ski club association's members (associates) and their transactions (e.g., ski pass purchases, card renewals). It allows the club to maintain personal data of members and transaction records efficiently, while being easy to deploy and extend.

Questa applicazione è progettata per gestire i membri (associati) di un'associazione sciistica e le loro transazioni (ad esempio, acquisti di skipass, rinnovi di tessere). Permette all'associazione di mantenere i dati personali dei soci e i registri delle transazioni in modo efficiente, ed è facile da implementare ed estendere.

License License

GPL v2+. Some assets are released under various Creative Commons licenses

Quick Start

To run the application using Docker, follow these instructions.

Requirements

  • Docker installed on your machine.
  • Docker Compose installed (comes with Docker Desktop on most platforms).

Steps

  1. Clone this repository:
    git clone https://github.com/nevarsin/skiclub-ng.git
    cd skiclub-ng ```
  2. Rename app/.env.sample to .env and fill with your db connection details
  3. (If using embedded Postgres) Set up your Postgres auth details in 'docker-compose.yaml'
  4. Build image and spin up containers:
    docker compose build
    docker compose up -d

Development setup

For local development and testing, follow these steps.

Requirements

  • Python 3.8+ installed on your machine.
  • PostgreSQL (or Docker for PostgreSQL container).

Steps

  1. Clone this repository:
    git clone https://github.com/nevarsin/skiclub-ng.git
    cd skiclub-ng ```
  2. Setup a Python virtual environment:
    python3 -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
  3. Install deps:
    pip install -r requirements.txt
  4. Rename .env.sample to .env and fill with your db connection details:
    mv .env.sample app/.env
  5. Apply migrations
    python manage.py migrate
  6. (Optional) Create a superuser to access Django admin:
    python manage.py createsuperuser
  7. Run development server
    python manage.py runserver

Translations

In order to add further languages:

django-admin makemessages -lt YOURLOCALE

Then edit locale\YOURLOCALE\LC_MESSAGES\django.po adding your translated strings.

After that: django-admin compilemessages

And your good to run app again with: python manage.py runserver

Notes for NixOS

Since NixOS doesn't support global libraries location, use the following to start a nix-shell with what's missing nix-shell -p python313Packages.weasyprint gettext

About

SkiAdmin is an open-source web application designed to simplify associate and transaction management for ski clubs. Built with Python, Postgres, and Docker-ready, it helps ski clubs efficiently manage memberships, skipass purchases, and card renewals. Released under the GPLv2 license.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages