2026-09-28 11:03:02 +05:30
2026-09-28 11:14:54 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30
2026-09-28 11:03:02 +05:30

Dance Odoo

Dance ERP built on Odoo 17.

Current Scope

The first implemented modules are dance_student and dance_batch. Students extend res.partner instead of using a separate student table, so they remain compatible with Odoo contacts, invoices, messages, activities, and future accounting flows.

Run Locally

docker compose up -d

Odoo runs at:

http://localhost:11000

The configured database is:

Odoo_dance

Student Module

Installed addon:

addons/dance_student

It adds:

  • is_student
  • student_code
  • guardian_id
  • guardian_ids
  • guardian_phone
  • date_of_birth
  • age
  • gender
  • dance_style
  • level
  • student_status
  • join_date
  • medical_notes

Students are available from:

Dance ERP > Students

Batch Module

Installed addon:

addons/dance_batch

It adds:

  • dance.batch
  • dance.enrollment

The relationship is:

Student -> Enrollment -> Batch

This allows one student to join multiple batches and one batch to contain many students. The module also tracks instructor, room, dates, timing, capacity, current strength, and enrollment status.

Batches are available from:

Dance ERP > Batches

Enrollments are available from:

Dance ERP > Enrollments

Session And Attendance Module

Installed addon:

addons/dance_attendance

It adds:

  • dance.session
  • dance.attendance

The relationship is:

Batch -> Session -> Attendance -> Student

Sessions are available from:

Dance ERP > Sessions

Attendance records are available from:

Dance ERP > Attendance

Daily flow:

Open today's session
Load Students
Mark Present / Absent / Late
Complete session

Fees Module

Installed addon:

addons/dance_fees

It adds:

  • dance.fee.structure
  • Fee links on batches
  • Manual invoice generation from enrollments and batches
  • Dance metadata on Odoo invoices

The relationship is:

Student -> Enrollment -> Batch -> Fee Structure -> Invoice -> Payment

Main places:

Dance ERP > Fee Structures
Dance ERP > Batches
Dance ERP > Enrollments
Accounting > Customers > Invoices

Manual billing flow:

Set a fee structure on the batch
Open an active enrollment
Click Create Invoice
Register payment in Odoo

Useful Scripts

Update the student module:

.\scripts\update_module.ps1 dance_student

Update the batch module:

.\scripts\update_module.ps1 dance_batch

Update the attendance module:

.\scripts\update_module.ps1 dance_attendance

Update the fees module:

.\scripts\update_module.ps1 dance_fees

Create a database backup:

.\scripts\backup_db.ps1

Restore a database backup:

.\scripts\restore_db.ps1 -BackupFile .\backups\Odoo_dance_YYYYMMDD_HHMMSS.sql

Nginx

nginx/odoo.conf contains a reverse proxy configuration for Odoo. It is not enabled as a Docker service yet, so the current local port setup stays simple and unchanged.

Description
No description provided
Readme 49 MiB
Languages
Python 60.5%
HTML 15%
JavaScript 11%
SCSS 8.9%
CSS 4.4%
Other 0.2%