Odoo_Dance_SCL/README.md
2026-09-28 11:03:02 +05:30

210 lines
3.1 KiB
Markdown

# 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
```powershell
docker compose up -d
```
Odoo runs at:
```text
http://localhost:11000
```
The configured database is:
```text
Odoo_dance
```
## Student Module
Installed addon:
```text
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:
```text
Dance ERP > Students
```
## Batch Module
Installed addon:
```text
addons/dance_batch
```
It adds:
- `dance.batch`
- `dance.enrollment`
The relationship is:
```text
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:
```text
Dance ERP > Batches
```
Enrollments are available from:
```text
Dance ERP > Enrollments
```
## Session And Attendance Module
Installed addon:
```text
addons/dance_attendance
```
It adds:
- `dance.session`
- `dance.attendance`
The relationship is:
```text
Batch -> Session -> Attendance -> Student
```
Sessions are available from:
```text
Dance ERP > Sessions
```
Attendance records are available from:
```text
Dance ERP > Attendance
```
Daily flow:
```text
Open today's session
Load Students
Mark Present / Absent / Late
Complete session
```
## Fees Module
Installed addon:
```text
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:
```text
Student -> Enrollment -> Batch -> Fee Structure -> Invoice -> Payment
```
Main places:
```text
Dance ERP > Fee Structures
Dance ERP > Batches
Dance ERP > Enrollments
Accounting > Customers > Invoices
```
Manual billing flow:
```text
Set a fee structure on the batch
Open an active enrollment
Click Create Invoice
Register payment in Odoo
```
## Useful Scripts
Update the student module:
```powershell
.\scripts\update_module.ps1 dance_student
```
Update the batch module:
```powershell
.\scripts\update_module.ps1 dance_batch
```
Update the attendance module:
```powershell
.\scripts\update_module.ps1 dance_attendance
```
Update the fees module:
```powershell
.\scripts\update_module.ps1 dance_fees
```
Create a database backup:
```powershell
.\scripts\backup_db.ps1
```
Restore a database backup:
```powershell
.\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.