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
Check TODO.md
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.
GPL v2+. Some assets are released under various Creative Commons licenses
To run the application using Docker, follow these instructions.
- Docker installed on your machine.
- Docker Compose installed (comes with Docker Desktop on most platforms).
- Clone this repository:
git clone https://github.com/nevarsin/skiclub-ng.git cd skiclub-ng ```
- Rename app/.env.sample to .env and fill with your db connection details
- (If using embedded Postgres) Set up your Postgres auth details in 'docker-compose.yaml'
- Build image and spin up containers:
docker compose build docker compose up -d
For local development and testing, follow these steps.
- Python 3.8+ installed on your machine.
- PostgreSQL (or Docker for PostgreSQL container).
- Clone this repository:
git clone https://github.com/nevarsin/skiclub-ng.git cd skiclub-ng ```
- Setup a Python virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
- Install deps:
pip install -r requirements.txt
- Rename .env.sample to .env and fill with your db connection details:
mv .env.sample app/.env
- Apply migrations
python manage.py migrate
- (Optional) Create a superuser to access Django admin:
python manage.py createsuperuser
- Run development server
python manage.py runserver
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
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