Skip to content
devgui01Public

About

Student and membership management for a martial arts academy. Django + PostgreSQL: registrations, monthly fees, payments and attendance tracking.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

BEL — Sistema de Gestão de Academia

Student and membership management for a martial arts school

Django application that replaced paper sign-in sheets and a spreadsheet of monthly fees for a Jiu-Jitsu academy.


Django Python PostgreSQL Bootstrap


The problem

The academy tracked students, attendance and monthly fees on paper and in a spreadsheet. Three consequences: fees were forgotten, nobody could tell who was actually training, and there was no history of payments.

This system centralises all three.

Features

Students

  • Full registration: name, birth date, phone, e-mail, address, belt and enrolment date
  • Scholarship flag — the academy charges a reduced fee for scholarship students
  • Active / inactive status, so former students stay in the history without cluttering the active list

Memberships and payments

  • Monthly fee generated per student with a due date and amount
  • Payment registration with date, amount and payment method
  • Automatic status: PENDENTE → paid
  • Default amounts: regular and scholarship tiers

Attendance

  • Daily check-in per student, building a real training history

Accounts and preferences

  • User profiles linked to Django's auth, each owning their students
  • Per-user dark mode preference
  • Terms of use acceptance, stored with a version and timestamp

Data model

Aluno ──┬── Mensalidade ── Pagamento
        └── Presenca

UserProfile ──── User (Django auth)
Model Purpose
Aluno Student record, belt, scholarship flag, owner
Mensalidade Monthly fee: due date, amount, status
Pagamento Payment: date, amount, method
Presenca Attendance entry per student per day
UserProfile Preferences and terms acceptance

Stack

Layer Technology
Backend Django 4.2
Database PostgreSQL (via dj-database-url)
Forms django-crispy-forms + crispy-bootstrap5
Static files WhiteNoise
Server Gunicorn

Deployment

The project ships a render.yaml blueprint, so it deploys to Render with no manual setup:

buildCommand: "./build.sh"
startCommand: "gunicorn ct_gouveia.wsgi:application"
healthCheckPath: /admin/

SECRET_KEY is generated by the platform, and static files are served through WhiteNoise. See DEPLOY_INSTRUCTIONS.md for the full walkthrough.

Running locally

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

Status

In production for a real academy. The core flow — register student, generate monthly fee, record payment, track attendance — is used daily.


About

Student and membership management for a martial arts academy. Django + PostgreSQL: registrations, monthly fees, payments and attendance tracking.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages